达梦调用存储过程(有返回值)报"调用参数不兼容或者不匹配" 返回

SqlSugar 处理完成
13 281


1. 存储过程定义如下:

CREATE OR REPLACE PROCEDURE "XJ_Env"."spOutTest"
( 
    DM_param1   VARCHAR(4)
  ,DM_param2  NVARCHAR(1000)
    ,DM_return   out int
)
AS BEGIN
set DM_return = -3;
END;

2. C#调用代码如下:

var returnvalue = new SugarParameter("@return", null, System.Data.DbType.Int32, ParameterDirection.ReturnValue);
await _baseRepository.Db.Ado.UseStoredProcedure().ExecuteCommandAsync("spOutTest",
    new SugarParameter("@param1", "11"),
    new SugarParameter("@param2", "测试测试"),
    returnvalue
    );
return returnvalue.Value.ObjToInt();

3. 执行后报“[spOutTest]调用参数不兼容或者不匹配”


这段代码如果是sqlserver数据库的话,是可以执行的,但是DM数据库会报错,请问是什么原因。

热忱回答13

  • fate sta fate sta VIP0
    1个月前

    提供ADO.NET 可以用的方法,我这边告诉你sqlsugar如何用

    0 回复
  • fate sta fate sta VIP0
    1个月前

    out int 不是returnvalue

    0 回复
  • pipiluo pipiluo VIP0
    1个月前

    @fate sta:改成下面的代码以后,报System.NullReferenceException:“Object reference not set to an instance of an object.”


    var returnvalue = new SugarParameter("@return", null, true);
    returnvalue.DbType = System.Data.DbType.Int32;


    0 回复
  • pipiluo pipiluo VIP0
    1个月前

    @fate sta:参数改成out也是报System.NullReferenceException:“Object reference not set to an instance of an object.”

    var returnvalue = new SugarParameter("@return", null, System.Data.DbType.Int32, ParameterDirection.Output)


    0 回复
  • fate sta fate sta VIP0
    1个月前

    用ado.net测试

    0 回复
  • pipiluo pipiluo VIP0
    1个月前

    @fate sta:解决了,

    下面这句"@return"改成":return"就可以了。

    var returnvalue = new SugarParameter(":return", null, System.Data.DbType.Int32, ParameterDirection.Output);
    
    in的参数可以是@也可以是冒号,但是out的参数必须是冒号。这个是否可以优化一下,让out也兼容@


    0 回复
  • fate sta fate sta VIP0
    1个月前

    @pipiluo: 这个可以优化

    0 回复
  • fate sta fate sta VIP0
    1个月前

    你的sqlsugar是最新的吗

    0 回复
  • fate sta fate sta VIP0
    1个月前

    用新的试试,如果不行我来优化

    0 回复
  • pipiluo pipiluo VIP0
    1个月前

    @fate sta:升级到了5.1.4.171,还是不行

    0 回复
  • fate sta fate sta VIP0
    1个月前

    SqlSugarCore 5.1.4.172-preview01



    过五分钟后安装

    0 回复
  • fate sta fate sta VIP0
    1个月前

    勾预览

    0 回复
  • pipiluo pipiluo VIP0
    1个月前

    @fate sta:试了一下,还是报空引用

    我看了下新版的dll,文件版本还是5.1.4.171,这个有关系吗?

    达梦.png

    0 回复