Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 检查员工id号的唯一性_Vb.net_Validation_Unique - Fatal编程技术网

Vb.net 检查员工id号的唯一性

Vb.net 检查员工id号的唯一性,vb.net,validation,unique,Vb.net,Validation,Unique,似乎无法确定如何检查唯一的员工id号。我知道验证必须在表单加载中进行,只是不确定如何进行 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 Syste

似乎无法确定如何检查唯一的员工id号。我知道验证必须在表单加载中进行,只是不确定如何进行

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
通常不会从客户端插入唯一的ID。而是由数据库服务器自动插入。有一种方法可以检索回插入的ID,如果您需要它来显示,还可以作为记录已成功插入的确认:

SELECT SCOPE_IDENTITY()
答案中显示了一个示例:


在客户端,您需要插入除ID之外的所有内容,在这种情况下,您不需要检查唯一性。提交时可能会出现其他验证问题,尽管存在唯一密钥冲突、数据类型不匹配-请确保捕获异常并将其适当显示给用户。

获取唯一ID的唯一方法-没有数据库-是如果您有所有其他Emp ID可用。直到你第一次保存一个新的Emp,你才真正需要它。我个人不会在表单加载中完成所有IO。测试文件名是否为字符串。第一次进入“保存并提示”时清空。我明白你的意思。但是,当用户输入员工ID号时,我的程序应该能够识别该ID号是否已被使用,并且不再可以输入。进一步,直接从我的作业表中复制。-如果输入的号码已经输入,则会弹出一条错误消息,并要求用户输入唯一的员工号码。@coderlik:这没关系-如果您正确捕获异常,它会告诉您类似的信息,但不确定确切的措辞。试试看。关于您的最后一句话,应该要求用户输入一个唯一的员工编号。目前还没有数据库!这个类的工作方式是将它的建筑彼此分开,所以是的,沿着这条路,它将有一个数据库。但我总能改变这一点。所以现在,我正在寻找一个简短的陈述。这就是我遇到的问题。我会用什么?或者我该怎么写呢?@coderlisk:取决于你现在拥有什么。命名内存结构,其中包含员工列表。