夕照坡上的狗尾草 2018-10-23 01:04 采纳率: 100%
浏览 905

C# 调用存储过程返回值不对,被截取了。求大神指导

存储过程部分:

create or replace package body PKG_AGE is
procedure AGE(c_result out varchar2) as
nsql varchar2(4000);
isExist integer;

begin
--------------------清空表数据--------------

c_result:='执行成功xx';

   EXCEPTION
     WHEN others THEN
       begin
           c_result:='错误:'||sqlerrm;
         --Rollback;
      dbms_output.put_line(sqlerrm);
        return;
     end;

end AGE;
end PKG_AGE;

代码部分:
OracleParameter[] paramlst = new OracleParameter[]
{
new OracleParameter("c_result", OracleType.VarChar, 4000)
};
paramlst[0].Direction = ParameterDirection.Output;
dt = PublicClass.GetPrcDataSet("PKG_AGE.AGE", paramlst);
logcontent = paramlst[0].Value.ToString();

                            输出的内容:
                            记录消息:

logcontent的内容是:'执行成',不是'执行成功xx';

  • 写回答

4条回答 默认 最新

  • hxycsdn9159 2018-10-23 01:42
    关注

    首先检查一下你数据库里面这个字段的长度对不对,是不是插入的时候已经被截断了

    评论

报告相同问题?

悬赏问题

  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services