0
我發現這個How to bind parameters via ODBC C#?如何通過ODBC在C#中進行參數化,但在我的代碼CommandText中保留「?」並返回錯誤 - 預期。爲什麼通過ODBC C#參數化不能綁定?
這裏是我的代碼:
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();
...
在我的兩個 「Parameters.ADD」 的情況下,我dbCommand.CommandText將是 「SELECT COL1 FROM表名WHERE ID =?」然後我會得到錯誤:錯誤[HY000]附近「WHERE」:語法錯誤(1)
任何想法哪裏有問題?
對於我使用的SQLite3和ODBC驅動程序sqlite3的ODBC驅動程序的數據庫,版本0.9993.00.00
是, 謝謝! – DaniKR