如果用户输入已存在的ID,我只想询问如何在文本框旁边或附近显示错误消息。用户输入已存在的ID后,将显示错误消息或文本框,其中显示:“ID已存在,请输入另一个ID”
我在将数据插入数据库时有这段代码:
Private Function AddUser()
If String.IsNullOrEmpty(txtID.Text) Then MsgBox("Please enter id") : Return False
If String.IsNullOrEmpty(txtFname.Text) Then MsgBox("Please enter firstname") : Return False
Access.AddParam("@ID", txtID.Text)
Access.AddParam("@Course", cbxCourse.SelectedItem)
Access.AddParam("@Yr", cbxYear.SelectedItem)
Access.AddParam("@Fname", txtFname.Text)
Access.AddParam("@Lname", txtLname.Text)
Access.AddParam("@Mname", txtMname.Text)
Access.ExecQuery("INSERT INTO StudentInformation ( ID, Course, Yr, FirstName, LastName, MiddleName) ; ")
If Not String.IsNullOrEmpty(Access.Exception) Then MsgBox(Access.Exception) : Return False
MsgBox("Student was added successfully.")
Form1.RefreshGrid()
Me.Close()
Return True
End sub
答案 0 :(得分:0)
好像你真的问你的代码中的两个问题。
第一个是如何判断ID是否重复。
第二个是如何显示错误消息。
对于第一个问题,如果您将ID设置为索引,则应该能够捕获异常(如果不是,则必须在数据库中查询该ID)
对于第二个,因为你使用winforms(与WPF相对)我发现在文本框旁边的表单上放置一个标签并在该标签上设置一些属性工作得相当好,并且只要你的项目没有变得容易管理。
Private Function AddUser()
If String.IsNullOrEmpty(txtID.Text) Then MsgBox("Please enter id") : Return False
If String.IsNullOrEmpty(txtFname.Text) Then MsgBox("Please enter firstname") : Return False
Access.AddParam("@ID", txtID.Text)
Access.AddParam("@Course", cbxCourse.SelectedItem)
Access.AddParam("@Yr", cbxYear.SelectedItem)
Access.AddParam("@Fname", txtFname.Text)
Access.AddParam("@Lname", txtLname.Text)
Access.AddParam("@Mname", txtMname.Text)
Access.ExecQuery("INSERT INTO StudentInformation ( ID, Course, Yr, FirstName, LastName, MiddleName) ; ")
If Not String.IsNullOrEmpty(Access.Exception) Then
Label1.text = Access.Exception
label1.visible = true
return false
end if
MsgBox("Student was added successfully.")
Form1.RefreshGrid()
Me.Close()
Return True
End sub