1

以下是使用参数化查询来查询 DB2-i(DB2 for iSeries)数据库的代码。

OdbcConnection conn = new OdbcConnection(connStrSb.ToString());
conn.Open();
var cmd = conn.CreateCommand();
cmd.CommandText= "SELECT * FROM table1 WHERE col1 >= ?";
cmd.Parameters.AddWithValue("ss", "View_Status_Code");
var x = cmd.ExecuteReader();
x.Read();

这里col1 是 CHAR FOR BIT DATA

上面的代码抛出以下异常:

ERROR [22018] [IBM][System i Access ODBC Driver]Error in assignment.

以下是使用普通查询(不带参数)的代码:

OdbcConnection conn = new OdbcConnection(connStrSb.ToString());
conn.Open();
var cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM table1 WHERE col1 >= 'View_Status_Code'";
var x = cmd.ExecuteReader();
x.Read();

上面的代码工作正常并返回一个结果集。

4

0 回答 0