C# 尝试将ODBC命名参数与SAP IQ/Sybase IQ DB一起使用时出错

C# 尝试将ODBC命名参数与SAP IQ/Sybase IQ DB一起使用时出错,c#,odbc,sybase,sap-iq,C#,Odbc,Sybase,Sap Iq,我有以下命令可以在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, ParameterNam

我有以下命令可以在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。

解决方案是根据参数的顺序,使用question maek而不是命名参数:

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

解决方案是根据参数的顺序,使用问题maek而不是命名参数:

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