Ich mache eine VB mit Access-Datenbank und ich möchte eine Schaltfläche erstellen. Welcher savebutton mit dem Überprüfen, wo die Daten, die versuchen einzufügen, dupliziert werden oder nicht mit meiner Datenbank vergleichen.Wie kann festgestellt werden, ob in VB.net bereits ein Datensatz existiert?
Das ist mein Code, und das Problem ist, was auch immer ich es nur zeigen, der Benutzer existiert bereits.
Dim theQuery As String = "SELECT * FROM Table1 " &
"WHERE [Subject_Code] = @Subject_Code " &
"AND [Day] = @Day " &
"AND [Times] = @Times " &
"AND [Lecture] = @Lecture " &
"AND [Class_Room] = @Class_Room"
Ihr Scheck für eine:
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
Was machen die '' '' in Ihrem SELECT String? – Andre
@Clavert Hier existiert eine ungeschriebene Regel: Vermeiden Sie das Wort "dringend". – reporter
@reporter: es ist tatsächlich [sehr geschrieben] (http://meta.stackoverflow.com/q/326569/472495) ';-)'. – halfer