2017-07-25 6 views
0

Mein Datentyp in der Datenbanktabelle ist Kurztext und ich bin nicht sicher, warum ich immer diese Fehlermeldung bei command2.ExecuteNonQuery();Datentypenkonflikt in Kriterium-Ausdruck (Access DB)

Fehlermeldung

An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll

Additional information: Data type mismatch in criteria expression.

Meine Codes

OleDbCommand cmd1 = new OleDbCommand(); 
cmd1.Connection = con; 
cmd1.CommandText = "SELECT * FROM Customers Where [email protected] OR [email protected] OR [email protected]"; 
cmd1.Parameters.AddWithValue("@FirstName", txtSearch.Text); 
OleDbDataReader read2 = cmd1.ExecuteReader(); 
string id = ""; 
while(read2.Read()) 
{ 
    id = read2["id"].ToString(); 
} 
OleDbCommand command2 = new OleDbCommand(); 
command2.CommandText = "UPDATE CheckIn_Details SET ModeOfCheckIn='True' WHERE ID='" + id + "'"; 
command2.Connection = con; 
command2.ExecuteNonQuery(); 
+0

Was ist der Datentyp von 'ModeOfCheckIn' &' ID'? Der Fehler ist offensichtlich: nicht übereinstimmender Datentyp in der zweiten Abfrage verwendet. –

+0

Wenn Sie sagen, ModeOfCheckIn ist ein kurzer Text und die ID ist die automatische Nummerierung –

Antwort

0

Wenn ID AutoNumber ist, brauchen Sie keine Anführungszeichen. Versuchen Sie dies stattdessen:

command2.CommandText = "UPDATE CheckIn_Details SET ModeOfCheckIn='True' 
WHERE ID=" + id; 
Verwandte Themen