为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:v8
【操作系统】:windows
【CPU】:
【问题描述】*:
假设存储过程参数如下:
DmParameter parm1 = new DmParameter(“:V_ID”, DmDbType.Int32);
command.Parameters.Add(parm1);
parm1.Value = 1;
parm1.Direction = System.Data.ParameterDirection.Input;
DmParameter parm2 = new DmParameter(“:V_NAME”, DmDbType.VarChar);
command.Parameters.Add(parm2);
parm2.Value = “红楼梦(下)”;
parm2.Direction = System.Data.ParameterDirection.Input;
如果存储过程的入参顺序不是 V_ID,V_Name,而是 V_Name,V_Id的顺序,则会报字符串转换错误,猜测达梦Ado.net驱动 获取参数值与存储过程入参绑定时,不是以参数名称关联的,而是按序关联绑定的,这样是不是不太灵活,请达梦技术大神回复一下,如果是猜测的这样,是否可以修正一下,即只要满足参数,忽略存储过程的入参顺序与传入的DbParameter[]对像顺序是否一致性的问题呢?我们用的驱动是NuGet上下载的1.1.3,dll下载后实际是1.1.0.8295
存储过程在数据库层调用的时候也是要按顺序输入参数的,parameter定义里面应该是ID为顺序ind,也是按照从左到右参数绑定,建议存储过程入参还是规范化按照顺序来