0
我想使用ADO.NET向Interbase XE數據庫發出參數化SELECT。我正在使用的代碼如下:無法使用ADO.NET爲Interbase創建參數化查詢
using (OdbcConnection odbcConnection = new OdbcConnection(ConfigurationManager.ConnectionStrings["LawbaseTest"].ToString()))
{
odbcConnection.Open();
using (OdbcCommand odbcCommand = new OdbcCommand())
{
odbcCommand.CommandType = CommandType.Text;
odbcCommand.Connection = odbcConnection;
odbcCommand.Parameters.Add(new OdbcParameter(":CaseNumber", 1265));
odbcCommand.CommandText = "select * from cmstub where cm_recnum = :CaseNumber";
using (IDataReader rdrData = odbcCommand.ExecuteReader())
{
Output(rdrData["CM_DESC"]);
}
}
}
,我發現了以下錯誤:
ERROR [42S22] [DataDirect][ODBC InterBase driver][InterBase]Dynamic SQL Error, SQL error code = -206, Column unknown, CASENUMBER
這表明對我來說,查詢不被送到Interbase的在它識別語法作爲參數化查詢。
這比我所期待的要困難得多。我是一個ficko嗎?你能幫我嗎?
這似乎是命名參數廣泛支持的常態,你嘗試使用?相反,即cm_recnum =:CaseNumber到cm_recnum =? – PeskyGnat 2011-06-14 01:44:58
你完全正確。您應該將其作爲答案,以便我可以將其標記爲正確。 – David 2011-06-15 12:54:38
補充說,我最初並沒有把它作爲答案,因爲它只是一個預感,對於你使用的特定驅動程序不太瞭解。 – PeskyGnat 2011-06-15 13:16:06