起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 157|回复: 5

TConnection的ExecuteSQL方法返回值

[复制链接]
发表于 2007-12-26 10:32:52 | 显示全部楼层 |阅读模式
TConnection的ExecuteSQL方法返回值始终为-1,为什么?

  FConnection.:=TConnection.Creat(nil);
  FConnection.ConnectionString:='DATABASEURL=Biz:\GYLGLXT\YWSJK.Database';
  FConnection.Transaction:=TTransaction.Create(FConnection);
  lHandle:=FConnection.Transaction.Start(False);
  try
      if lInfo.StoreID='' then
      begin
        Raise Exception.Create('出库仓库没有指定,不能出库!');
        exit;
      end;
      AMount:=lInfo.Amount;
      lSQL:='select GUID from OutDetail where GUID in ('+GetOutSQL+')';
      if FConnection.ExecuteSQL(lSQL)>0 then
      begin
        Raise Exception.Create('物资已经出库,请不要重复操作!');
        exit;
      end;
      //冲减库存量
      lSQL:='update wlkcb set kcl=kcl-(%f) where Barcode=''%s'' and cfck=''%s'' and kcl>=%f';
      lSQL:=SysUtils.Format(lSQL,[AMount,lInfo.BarCode,lInfo.StoreID,AMount]);
      Affected:=FConnection.ExecuteSQL(lSQL);
      if Affected<=0 then Raise Exception.Create('库存不足,不能出库!');
    try
      FConnection.Transaction.Commit(lHandle);
    except
      FConnection.Transaction.rollback(lHandle);
    end;
  finally
    FConnection.Free;
  end;
回复

使用道具 举报

发表于 2007-12-26 11:37:42 | 显示全部楼层
如果需要返回数据集的话使用Query或DataSet
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-26 13:34:50 | 显示全部楼层
我并不要返回结果集,而只想知道update insert delete语句影响的记录数
现在知道以下几句是错的了
      lSQL:='select GUID from OutDetail where GUID in ('+GetOutSQL+')';
      if FConnection.ExecuteSQL(lSQL)>0 then
      begin
        Raise Exception.Create('物资已经出库,请不要重复操作!');
        exit;
      end;
已经改正,
但FConnection.ExecuteSQL('update table1 set xx=xx ')按理应该返回受影响的记录数啊,现在测试了一下总是返回-1
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-26 15:39:44 | 显示全部楼层
顶起 急啊
回复 支持 反对

使用道具 举报

发表于 2007-12-26 17:05:59 | 显示全部楼层
楼主您哪个版本。我这里是正常的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-27 17:43:27 | 显示全部楼层
2435版本 现在发现用事务时返回值始终为-1  不用事务时始终为0
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-4 07:52 , Processed in 0.036734 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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