Я делаю VB с базой данных Access, и я хочу создать кнопку. Какой savebutton с проверкой, где данные, которые пытаются вставить, дублируются или не сравниваются с моей базой данных.Как определить, существует ли запись на VB.net?
Этот мой код, и проблема в том, что я вхожу в него, просто покажет, что пользователь уже существует.
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
MyConn = New OleDbConnection
MyConn.ConnectionString = connString
MyConn.Open()
If (ComboBox2.Text = "") And (ComboBox3.Text = "")
And (TextBox3.Text = "") And (ComboBox4.Text = "")
Then
MsgBox("Please fill-up all fields!")
Else
Dim theQuery As String = ("SELECT * FROM Table1
WHERE"" [Subject_Code][email protected]_Code ,[Day][email protected],
[Times][email protected] , [Lecture][email protected] and [Class_Room][email protected]_Room""")
Dim cmd1 As OleDbCommand = New OleDbCommand(theQuery, MyConn)
cmd1.Parameters.AddWithValue("@Subject_Code", TextBox6.Text)
cmd1.Parameters.AddWithValue("@Day", ComboBox2.Text)
cmd1.Parameters.AddWithValue("@Times", ComboBox3.Text)
cmd1.Parameters.AddWithValue("@Lecture", TextBox3.Text)
cmd1.Parameters.AddWithValue("@Class_Room", ComboBox4.Text)
Using reader As OleDbDataReader = cmd1.ExecuteReader()
If reader.HasRows Then
'User already exists
MsgBox("User Already Exist!")
Else
Dim Update As String = "INSERT INTO [Table1]
([Subject_Code], [Subject],
[Day], [Times], [Level],[Semester], [Lecture],[Class], [Class_Room])
VALUES (?,?,?,?,?,?,?,?,?)"
Using cmd = New OleDbCommand(Update, MyConn)
cmd.Parameters.AddWithValue("@p1", TextBox6.Text)
cmd.Parameters.AddWithValue("@p2", TextBox1.Text)
cmd.Parameters.AddWithValue("@p3", ComboBox2.Text)
cmd.Parameters.AddWithValue("@p4", ComboBox3.Text)
cmd.Parameters.AddWithValue("@p5", ComboBox1.Text)
cmd.Parameters.AddWithValue("@p6", ComboBox6.Text)
cmd.Parameters.AddWithValue("@p7", TextBox3.Text)
cmd.Parameters.AddWithValue("@p8", ComboBox5.Text)
cmd.Parameters.AddWithValue("@p9", ComboBox4.Text)
MsgBox("New Data Is Saved")
cmd.ExecuteNonQuery()
End Using
End If
End Using
End If
Что такое '' '' 'в вашей строке SELECT? – Andre
@Clavert Здесь существует неписаное правило: избегайте слова «срочно». – reporter
@reporter: на самом деле [очень написано] (http://meta.stackoverflow.com/q/326569/472495) ';-)'. – halfer