【问题标题】:Error when trying to use ODBC Named Parameter with SAP IQ/Sybase IQ DB尝试将 ODBC 命名参数与 SAP IQ/Sybase IQ DB 一起使用时出错
【发布时间】:2020-01-01 16:31:36
【问题描述】:

我有以下适用于 mySQL 但不适用于 SAP IQ/Sybase IQ DB 的命令:

string sql = "select * from someTable where fieldName=@name";
command.CommandText = sql;
command.Parameters.Add(new OdbcParameter()
{
    DbType = System.Data.DbType.Int32,
    Value = 1,
    ParameterName = "@name",
    Direction = System.Data.ParameterDirection.Input
});

command.ExecuteNonQuery();

错误是:

错误 [42S22] [Sybase][ODBC 驱动程序][Sybase IQ]列 '@name' 未找到

我怀疑命名参数不适用于 Sybase IQ。

【问题讨论】:

    标签: c# odbc sybase sap-iq


    【解决方案1】:

    解决办法是根据参数的顺序,用question maek代替命名参数:

    string sql = "select * from someTable where fieldName=?";
    

    【讨论】:

      猜你喜欢
      • 2014-03-31
      • 2018-09-29
      • 1970-01-01
      • 2018-09-08
      • 2018-07-01
      • 1970-01-01
      • 2013-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多