2014-02-20 3 views
0

Невозможно понять, как проверить уникальный идентификатор сотрудника. Я знаю, что проверка должна идти в виде нагрузки, просто не уверен, как это сделать.проверить уникальность идентификатора сотрудника

Public Class Form1 
    Dim filename As String 
    Dim dataFile As System.IO.File 
    Dim dataWrite As System.IO.StreamWriter 

    ''LOADING AND WRITE TO TEXT DOCUMENT 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    'asks user for file name 
    filename = InputBox("Enter output file name") 
    If IO.File.Exists(filename) Then 
     dataWrite = IO.File.AppendText(filename) 
    Else 
     MessageBox.Show("filename does not exist") 
     filename = InputBox("Enter output file name") 
     dataWrite = IO.File.CreateText(filename) 
    End If 
    cboDepart.Items.Add("Accounting") 
    cboDepart.Items.Add("Administration") 
    cboDepart.Items.Add("Marketing") 
    cboDepart.Items.Add("MIS") 
    cboDepart.Items.Add("Sales") 
    End Sub 
    '------ 

    Public EMPLOYEEIDS As String 
    Dim employeeID1 As ServerData() 
    Dim employeeID2 As ServerData() 
    Dim reader As String = My.Computer.FileSystem.ReadAllText("servers.lst") 
    Dim s() As String 
    Dim Totalemployeeids As String = CStr(reader.Length) 
    Dim x As Integer = 0 
    Dim myArray As String() = reader.Split("|"c) 
    For x = 1 To Totalemployeeids 
    employeeID1(x).ServerName = myArray(0) 
    employeeID2(x).IDname = myarray(0) 

    Form1_load.ListBox1.Items.Add(Servers(x).ServerName) 
    x += 1 
    Next 

    Structure ServerData 
    End Structure 
End Class 
+0

единственный способ получить ** уникальный ** ID - без базы данных - это если у вас есть все другие идентификаторы Emp. вам это действительно не нужно, пока вы не сохраните новую Emp в первый раз. Я лично не буду делать все, что IO в форме нагрузки. Проверьте, если 'filename' является String.Empty при первом запуске для сохранения и запроса. – Plutonix

ответ

0

Вы обычно не вставить уникальный идентификатор на стороне клиента. Вместо этого он автоматически устанавливается сервером базы данных. Существует способ, чтобы получить вставленный ID обратно, если это необходимо для отображения (также может выступать в качестве подтверждения того, что запись была успешно установлена):

SELECT SCOPE_IDENTITY() 

Пример показан в этом ответе:

на стороне клиента, вам необходимо осуществить вставку все, кроме ID, в этом случае вам не нужно проверять на уникальность. Могут быть другие проблемы с проверкой при фиксации (уникальное нарушение ключа, несоответствие типа данных) - убедитесь, что вы перехватываете исключения и показываете их пользователю.

+0

Я понимаю, о чем вы говорите. Но, исходя из того, что хочет мой учитель, когда пользователь вводит идентификатор сотрудника, моя программа должна быть в состоянии узнать, был ли уже использован идентификационный номер и больше не может быть введен. – coderlisk

+0

еще больше копирует прямо с моего листа задания. - «если введенное число уже введено, должно появиться сообщение об ошибке, и пользователю необходимо будет ввести уникальный номер сотрудника». – coderlisk

+0

@coderlisk: Это нормально - если вы правильно поймаете исключение, он скажет вам что-то вроде этого (не уверен в точном формулировании). Попробуй. Что касается вашего последнего предложения, «пользователь должен будет ввести уникальный номер сотрудника» <---- ok, остановитесь здесь, у вас есть база данных? – Neolisk

Смежные вопросы