access数据库,多次执行update后,有时候update成功,有时候update失败,不知道为什么UpdateTrackSql := 'UPDATE INVOICE_TRACK SET NEW_ITEM_ID = ' + id +' WHERE CORP_CODE =''' + DataContainer.CorpCode + ''' AND NEW_SALE_CODE=''' + NewSaleCds +'''';
BaseComDealDM.publicSqlExe(InvoiceInputQry, UpdateTrackSql, RtnFlag,RtnMsg);function TBaseComDealDM.publicSqlExe(PublicQryTemp: TADOQuery; sql: string; var
RtnFlag:boolean; var RtnMsg: string): boolean;
begin
RtnFlag:=TRUE;
if (not DataContainer.ADOConnection.Connected) then
DataContainer.ADOConnection.Open('', '');
PublicQryTemp.SQL.Clear;
PublicQryTemp.SQL.Add(sql);
try
PublicQryTemp.ExecSQL;
except
RtnFlag := false;
RtnMsg := RtnMsg + '##' + '[错误]:执行语句' + sql + '时发生错误';
end;
publicSqlExe := RtnFlag;
end;
BaseComDealDM.publicSqlExe(InvoiceInputQry, UpdateTrackSql, RtnFlag,RtnMsg);function TBaseComDealDM.publicSqlExe(PublicQryTemp: TADOQuery; sql: string; var
RtnFlag:boolean; var RtnMsg: string): boolean;
begin
RtnFlag:=TRUE;
if (not DataContainer.ADOConnection.Connected) then
DataContainer.ADOConnection.Open('', '');
PublicQryTemp.SQL.Clear;
PublicQryTemp.SQL.Add(sql);
try
PublicQryTemp.ExecSQL;
except
RtnFlag := false;
RtnMsg := RtnMsg + '##' + '[错误]:执行语句' + sql + '时发生错误';
end;
publicSqlExe := RtnFlag;
end;
解决方案 »
- 我要使用LeftStr等函数 所以在uses中增加了StrUtils 为什么还是报错啊?我把USES和出错贴了出来,请大家帮我看下,谢谢。
- 怎么把资源(如图片)直接编译到exe中?最好有例子程序!
- 向web服务器发送一条含有参数的URL,服务器接收到将查询的结果用xml形式返回,应该如何去写,希望同仁帮忙,最好能给出例程,谢谢,收到
- 如何从数据库中删除一条记录
- 请问怎样修改父窗体的变量
- 问一下几个元件在元件盒的位置,急!
- 求助!怎样实现网卡远程开机?
- 请问我在本机用delphi6+sql server2000写的程序,如何在win98下没有SQL SERVER的环境中运行啊.
- 请问一下,我的应用引起了系统时间的滞后,请问是什么原因,全部分送上,十万火急!!!
- Delphi初学者看什么书?
- datasnap clientdataset missing dataprovider
- 三层 DataSnap 怎么传输一个记录类型
try
PublicQryTemp.ExecSQL;
except
RtnFlag := false;
RtnMsg := RtnMsg + '##' + '[错误]:执行语句' + sql + '时发生错误';
end;如果是except出的错误, 检查这几项:
1 sql语句是否正确, 可以在查询分析器中直接执行验证
2 PublicQryTemp的conn连接是否正确
3 提交成功后查看数据库中的数据变化是否正确
PublicQryTemp确实没有conn连接,补充了PublicQryTemp.Connection:=DataContainer.ADOConnection;还是一样的update失败,真是郁闷
cursorType: ctStatic
LockType : ltBatchOptimistic