起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 194|回复: 8

[请求]事务commit的时候报错!**

[复制链接]
发表于 2007-9-5 15:22:07 | 显示全部楼层 |阅读模式
存储过程
create or replace procedure SP_TEST_INSERT is
begin
  insert into SJB1(ZD1, ZD2, ZD3)values('1000', '1000', '1000');
end SP_TEST_INSERT;


var
  lConnection: TConnection;
  h: TTransactionHandle;
begin
  lConnection := TConnection.Create(nil);
  with lConnection do
  try
    ConnectionString := 'DATABASEURL=Biz:HAJ_DSDSEZHAJ_TJSJK.Database';
    Connected := True;
    with Transaction do
    begin
      h := Start(False);
      try
        with TStoredProc.Create(nil) do
        try
          Connection := lConnection;
          StoredProcName := 'SP_TEST_INSERT';
          Execute;
        finally
          Free;
        end;
        Commit(h);
      except
        RollBack(h);
        Raise;
      end;
    end
  finally
    Free;
  end;

commit.jpg

15.57 KB, 下载次数: 140

回复

使用道具 举报

 楼主| 发表于 2007-9-5 15:47:49 | 显示全部楼层
为什么存储过程一定要带参数执行才不会报错呢?
回复 支持 反对

使用道具 举报

发表于 2007-9-5 17:11:13 | 显示全部楼层
你的存储过程要求传入参数了吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-6 08:43:33 | 显示全部楼层
我现在就是想执行不带参数的存储过程,
可是老报错!
郁闷!!!
回复 支持 反对

使用道具 举报

发表于 2007-9-6 09:25:24 | 显示全部楼层
我试一下
回复 支持 反对

使用道具 举报

发表于 2007-9-6 10:55:21 | 显示全部楼层
楼主,经过测试,我用楼主给的存储过程,然后调用,执行没有问题(平台版本2819,数据库sqlserver2000/oracle10两种环境下均没有楼主所描述的问题)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-7 09:00:07 | 显示全部楼层
不会吧,可能是你的版本比较高一些!?
我的是2401
疯掉了?这可啥整呢?
回复 支持 反对

使用道具 举报

发表于 2007-9-7 13:54:33 | 显示全部楼层
那如果实在不行的话,就只能升级版本,或者就用带参数的存储过程了!
回复 支持 反对

使用道具 举报

发表于 2007-9-7 16:42:11 | 显示全部楼层
如果不升级的话,传一个参数不去处理它,只能这样规避一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-15 21:02 , Processed in 0.040270 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表