SQL 2000 个人版 +Delphi 7,主要用ADOQuery操作数据库!
现在遇到的问题:比如说做一个入库单的时候,这个单子上客户有200多条记录需要录入.那么现在的情况是客户录入数据按保存,在向数据库提交的时候后会丢失部分记录...客户录入的数据是先保存在一临时表内,然后提交的时候用Insert插入到正式表...请问为什么会出现这样的情况?用ADOQuery.ExecSql执行SQL语句,难道是ADOQuery的问题??用什么方法或者在D7中ADOQuery外的其他ADO控件可以避免这样的问题?比如事务?过程?菜鸟不懂,请教各位大大了!
现在遇到的问题:比如说做一个入库单的时候,这个单子上客户有200多条记录需要录入.那么现在的情况是客户录入数据按保存,在向数据库提交的时候后会丢失部分记录...客户录入的数据是先保存在一临时表内,然后提交的时候用Insert插入到正式表...请问为什么会出现这样的情况?用ADOQuery.ExecSql执行SQL语句,难道是ADOQuery的问题??用什么方法或者在D7中ADOQuery外的其他ADO控件可以避免这样的问题?比如事务?过程?菜鸟不懂,请教各位大大了!
先看看写入临时表中数据丢失没,然后再看看写入正式表中是否丢失,
问题就基本上出来了,呵呵。
'insert into kc_mx smon,syear,pzlx,pzh,ckpzh,pzrq,ddh,kh,chdm,dm,mc,gg) select smon,syear,pzlx,pzh,ckpzh,pzrq,ddh,kh,chdm,dm,mc,gg from kc_mx_ls where cysl<>0';
ADOQuery5.ExecSQL;因为在录入多条数据的时候可能用的时间也比较长,有没有可能因为时间长出现连接超时而丢失部分数据?但客户端又没有提示!
就是将临时表内的文件根据一定的条件向正式表内用Insert插入的时候会丢失数据!
2.从临时表中向正式表中插入数据时,你可以采用存储过程看看是否还有问题!