Ich habe die Datentabelle tblEmployeeInfo
und Spalte EmployeeName
mit Daten enthält.Wie überprüft man, ob die Daten in der Spalte noch vorhanden sind mit VB.Net
EmployeeName Mike Jay Paul
Auch habe ich Textbox1
einen Namen und eine Schaltfläche „Verify“ einzugeben. Wie überprüfe ich, ob der Mitarbeitername in der Spalte EmployeeName
existiert?
Zum Beispiel "Jay".
Bisher ist dies mein Code auf die Schaltfläche "Verify":
conn.Open()
cmd.Connection = conn
cmd.CommandText = "SELECT [Employee Name] FROM tblHolidayOvertimeEntry WHERE [Employee Name] = '" & tbEmployeeName.Text & "' "
Dim result1 as String = cmd.ExecuteNonQuery
conn.Close()
If result1 <> tbEmployeeName.Text Then
MsgBox("No Employee Name found")
Else
MsgBox("Employee name still exist")
End If
Gah! Die Sicherheitsanfälligkeit bezüglich SQL-Injektion Es brennt uns! –
Denken Sie darüber nach, was Sie tun. Warum würden Sie 'ExecuteNonQuery' aufrufen, um eine Abfrage auszuführen? Wenn Sie ADO.NET gelesen haben, was Sie vor dem Posten hier getan haben sollten, dann wissen Sie, dass es grundsätzlich drei Möglichkeiten gibt, eine Abfrage auszuführen: Rufen Sie 'Fill' auf einem Datenadapter auf, rufen Sie' ExecuteReader' auf a auf Befehl und Aufruf 'ExecuteScalar' für einen Befehl. Entscheide, was deinem Fall angemessen ist und tue es. – jmcilhinney
Das war lange nicht der richtige Weg, um SQL zu erstellen. – Plutonix