我必須使用現有ODBC連接來查詢DB2數據庫。執行簡單的查詢工作正常,但只要我嘗試執行參數化查詢它不起作用:如何將使用ODBC的多個命名參數傳遞給DB2數據庫
SELECT
ColumnA,
ColumnB
FROM
MyTable
WHERE
ColumnA = ? AND
ColumnB = ?
使用?
建議在其他職位,但我總是空的結果(沒有錯誤信息雖然)。當我試着使用命名參數(和改變SQL語句ColumnA = @ColumnA AND ColumnB = @ColumnB
標準SQL的方式如下圖所示
odbcCommand.Parameters.AddWithValue(ColumnA", 1234);
odbcCommand.Parameters.AddWithValue(ColumnB", 9999);
顯示以下錯誤消息:
System.Data.Odbc.OdbcException:ERROR [ 42S22] [IBM] [CLI驅動程序] [DB2] SQL0206N 「@ColumnA」 不是在其被使用的上下文中有效。SQLSTATE = 42703 ...
odbcCommand.Parameters.Add(new OdbcParameter("ColumnA", Integer){ Value = 1234 });
使用代替表明該已被棄用(和還不起作用)我想避免使用連接的SQL語句,但我不能找到一種方法來獲取針對DB2數據庫的參數化查詢。
感謝您的建議,我會嘗試在工作時檢查版本。 – Gorgsenegger
它確實似乎是一個版本問題,雖然它需要一段時間來找出並解決它。 – Gorgsenegger