首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

为什么事务无法提交?该如何处理

2012-04-16 
为什么事务无法提交?以下的代码我单步执行过,发现的确执行到了红色的那行,但是为什么事务无法提交?提交了

为什么事务无法提交?
以下的代码我单步执行过,发现的确执行到了红色的那行,但是
为什么事务无法提交?提交了的标志是数据库中应该有数据,但是事实上是提交那行执行了,但是插入的数据都没了,像是被回滚了。

SET STEP ON 
PUBLIC lnConnHandle
SET BELL to "artillery1.wav"
SET SAFETY OFF 
aAllDbfHandle = ADIR(AFiles, "c:\dibao\发放*.*")
thisform.edit1.Value=""
thisform.edit2.Value="" 
*r=SQLEXEC(lnConnHandle,"truncate table SJ_DB_FFMX")
*SQLExec(lnConnHandle,'BEGIN TRANSACTION') 
FOR i = 1 TO ALEN(AFiles, 1)
DOEVENTS 
FileName = ALLTRIM(AFiles(i, 1))
thisform.label2.Caption='正在处理文件:'+FileName
r=SQLEXEC(lnConnHandle,"exec ffmx 'C:\DiBao\"+FileName+"'")
IF r=-1
thisform.edit1.Value=thisform.edit1.Value+FileName+CHR(13)+CHR(10)
ELSE 
thisform.edit2.Value=thisform.edit2.Value+FileName+CHR(13)+CHR(10)
ENDIF 
DOEVENTS 
thisform.refresh 
NEXT 
r=SQLEXEC(lnConnHandle,"SELECT * from 名证年月重复表","重复表")
??CHR(7)
IF RECCOUNT("重复表")>0
COPY TO c:\重复表\重复表 xls
SQLROLLBACK(lnConnHandle)&&&& 事务回滚 
MESSAGEBOX("发生重复!",0,"提示")
ELSE
SQLCOMMIT(lnConnHandle)&&&& 事务交付 
MESSAGEBOX("没有重复!",0,"提示")
ENDIF 
*MESSAGEBOX("执行结束!",0,"提示")
*select 发放总行数=COUNT(1) from dbo.SJ_DB_FFMX
r=SQLEXEC(lnConnHandle,"select 发放总行数=COUNT(1) from dbo.SJ_DB_FFMX","发放总行数")
MESSAGEBOX("发放总行数:"+STR(发放总行数.发放总行数),0,"提示")
RETURN 




[解决办法]


[解决办法]

热点排行