Ich habe dieses How to bind parameters via ODBC C#? Beispiel für die Parametrisierung über ODBC in C#, aber in meinem Code CommandText bleibt mit "?" und gibt Fehler zurück - whitch wird erwartet.Warum ist die Parametrierung über ODBC C# nicht bindend?
Hier ist mein Code:
string variable = SVariablaKlas.ToUpper(); //this is simple var like 123
Conn odbc = new Conn();
odbc.db.Open(); //this works fine -> connection is established
OdbcCommand dbCommand = odbc.db.CreateCommand();
dbCommand.CommandText = "";
if (a)
{
dbCommand.CommandText = "SELECT col1 FROM TableName WHERE ID = ?";
} else if (b)
{
dbCommand.CommandText = "SELECT col2 FROM TableName WHERE ID = ?";
}
dbCommand.Parameters.ADD("@ID", OdbcType.Char).Value = variable;
//or if I try this: ...Parameters.ADD(new OdbcParameter(string.Empty, variable);
OdbcDataReader dbReader = dbCommand.ExecuteReader();
...
In meinen beiden Fällen von "Parameters.ADD", würde mein dbCommand.CommandText sein "col1 FROM Tablename WHERE ID = SELECT?" und dann würde ich einen Fehler bekommen: FEHLER [HY000] in der Nähe von "WO": Syntaxfehler (1)
Irgendeine Idee wo ist das Problem?
für Datenbank I SQLite3 und ODBC-Treiber SQLite3 ODBC-Treiber verwenden, Version 0.9993.00.00
Ja , Danke! – DaniKR