2017-03-30 3 views
0

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 
+1

Gah! Die Sicherheitsanfälligkeit bezüglich SQL-Injektion Es brennt uns! –

+3

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

+0

Das war lange nicht der richtige Weg, um SQL zu erstellen. – Plutonix

Antwort

0

allererst klares Konzept über ExecuteScalar, ExecuteReader und ExecuteNonQuery von diesem Link: When to use ExecuteScalar,ExecuteReader,ExecuteNonQuery?

und Sie müssen festlegen, wie

cmd.CommandText = "SELECT [Employee Name] FROM tblHolidayOvertimeEntry WHERE [Employee Name] = '" & tbEmployeeName.Text & "' " 
Dim result1 as String = cmd.ExecuteScalar 
Verwandte Themen