[SqlSugar] 达梦存储过程参数为out类型时,输出结果为null报错 返回
SqlSugar
沟通中
1
275
monga 发布于2026/5/20
悬赏:0 飞吻
错误信息:Dm.DmException:“6081,the value is null.Can not use this function when the value is null”
环境:sqlsugarcore5.1.4.214,sqlsugarcore.dm8.8.1
代码:
SugarParameter[] parameter = new SugarParameter[4];
parameter[0] = new CInterfaceDBQueryParameter("p_id", null, ParameterDirection.Output, System.Data.DbType.Int32, null);
parameter[1] = new CInterfaceDBQueryParameter("p_name", null, ParameterDirection.Output, System.Data.DbType.String, null);
parameter[2] = new CInterfaceDBQueryParameter("p_date", null, ParameterDirection.Output, System.Data.DbType.DateTime, null);
parameter[3] = new CInterfaceDBQueryParameter("p_res", null, ParameterDirection.Output, System.Data.DbType.Int32, null);
……
db.Ado.UseStoredProcedure().GetDataTable(storedProcedureName, parameter.ToArray());//报错的函数存储过程:
CREATE OR REPLACE PROCEDURE Test_Out_Null ( p_id OUT INT, p_name OUT VARCHAR(10), p_date OUT DATETIME, p_res OUT INT ) AS BEGIN p_id := NULL; set p_name = NULL; set p_date = NULL; set p_res = NULL; END;
问了AI说是整形、日期等类型出参必须要有值,否则达梦驱动在转换的时候就会报错,说返回类型改为string或者object可以避免,但我试了之后都还是报错,必须得赋值才行
请问这个问题要怎么解决呢,想要查出来是null就想输出null
热忱回答(1)
-
fate sta VIP0
2026/5/21你用ADO.NET测试,如果ADO.NET可以我给你SQLSUGAR写法
0 回复