Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
147 views
in Technique[技术] by (71.8m points)

mysql - How to Add an error message box for duplicate id?

this is my code that inputs a record for my database. if I put a duplicate it will just terminate the program. my goal is to put a message box that displays an error so that the program will not terminate.

   Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

    MysqlConn = New MySqlConnection("server=localhost; user=root; pwd=; database=payrollmanagement")
    MysqlConn.Open()
    command = New MySqlCommand("INSERT INTO emp_info(empID,lastname,firstname,MiddleInitial,Age,address,Position,ContactNumber,pay_type,gender,dept,email) Values ('" & TextBox1.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "','" & TextBox7.Text & "','" & TextBox11.Text & "','" & TextBox3.Text & "','" & TextBox10.Text & "','" & TextBox4.Text & "','" & TextBox8.Text & "','" & TextBox10.Text & "','" & TextBox2.Text & "','" & TextBox14.Text & "')", MysqlConn)
    If (TextBox1.Text = "") Then
        MessageBox.Show("Data not Inserted")
    ElseIf (TextBox2.Text = "") Then
        MessageBox.Show("Data not Inserted")
    ElseIf (TextBox3.Text = "") Then
        MessageBox.Show("Data not Inserted")
    ElseIf (TextBox4.Text = "") Then
        MessageBox.Show("Data not Inserted")
    ElseIf (TextBox5.Text = "") Then
        MessageBox.Show("Data not Inserted")
    ElseIf (TextBox6.Text = "") Then
        MessageBox.Show("Data not Inserted")
    ElseIf (TextBox7.Text = "") Then
        MessageBox.Show("Data not Inserted")
    ElseIf (TextBox8.Text = "") Then
        MessageBox.Show("Data not Inserted")
    ElseIf (TextBox9.Text = "") Then
        MessageBox.Show("Data not Inserted")
    ElseIf (TextBox10.Text = "") Then
        MessageBox.Show("Data not Inserted")
    ElseIf (TextBox11.Text = "") Then
        MessageBox.Show("Data not Inserted")
    ElseIf (TextBox14.Text = "") Then
        MessageBox.Show("Data not Inserted")
    Else
        command.ExecuteNonQuery()
        MessageBox.Show("Data Inserted")
        Shadows_load()
    End If
End Sub

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Add a MySqlDataReader class so that the program can read if there is any existing data in the database

MysqlConn = New MySqlConnection("//YourConnection")
MysqlConn.Open()
command = New MySqlCommand("//Your sql")
MySqlDataReader reader;
reader = command.ExecuteReader()

If reader.Read() = true Then 'This will solve your problem
   MessageBox.Show("There is already existing data.")
Else
 If (TextBox1.Text = "") Then
        MessageBox.Show("Data not Inserted")
    ...
    Else
        command.ExecuteNonQuery()
        MessageBox.Show("Data Inserted")
        Shadows_load()
    End If
End If

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...