注册

SqlServer兼容模式传参异常

CMAFY★ 2024/08/07 609 4

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: dm8_20240712_x86_rh7_64
【操作系统】:Kylin-Server-V10-SP3-2403-Release-20240426-x86_64
【CPU】: i5-10400F
【问题描述】*:SqlServer兼容模式下,即设置
alter system set 'COMPATIBLE_MODE' =3 spfile;
sp_set_para_value(2,'MS_PARSE_PERMIT',2);
两个选项后,使用C#进行查询
static void Main(string[] args)
{
DmParameter[] parameters = new[]
{
new DmParameter("@id", "1")
};

var infoSet = DmSqlHelper.GetDataSet(DbConn, CommandType.Text, "select * from address where ADDRESSID = @id", parameters);
foreach (DataTable table in infoSet.Tables)
{
foreach (DataRow row in table.Rows)
{
foreach (DataColumn column in table.Columns)
{
Console.WriteLine(column.ColumnName + ":" + row[column]);
}
}
}
}
提示
未经处理的异常: Dm.DmException: 第1 行附近出现错误:
参数个数不匹配 [sql]: {select * from address where ADDRESSID = @id}; [params]: {@id=1};
如果去掉 where ADDRESSID = @id部分则执行正常
图片.png

回答 0
暂无回答
扫一扫
联系客服