大家看看我这代码!!运行不会出错,可就是没有结果。。。。。。
//提交到本机数据库********************************************/
CONNECT USING sqlca;
dw_3.settransobject(sqlca)
dw_4.settransobject(sqlca)
dw_8.settransobject(sqlca)
long ll
if s_hykh<>"" then
ll=dw_8.update()
if ll=-1 then messagebox("提示","会员信息保存失败")
end if
if dw_3.update()=1 and dw_4.update()=1 then
messagebox("提示","保存成功!")
COMMIT USING sqlca;
DISCONNECT USING sqlca;
lli=1
else
messagebox("提示","保存失败!"+sqlca.sqlerrtext)
ROLLBACK USING sqlca;
DISCONNECT USING sqlca;
return
end if
DISCONNECT USING sqlca;
/************************************************************/
//连接另一台机上的数据库sql2000
sServerName=ProfileString('config.ini',"loding","servername","")//获得总部服务器名
sDBName=profilestring('config.ini',"loding","dbname","")
sUserName=profilestring('config.ini',"loding","username","")
sDBId=profilestring('config.ini',"loding","dbid","")
serverdb =create transaction
serverdb.dbms="Mss Microsoft sql server"
serverdb.servername=sServerName
serverdb.database=sDBName
serverdb.logid=sUserName
serverdb.logpass=sDBId
serverdb.autocommit=false
serverdb.dbparm="connectstring='dsn="+sDBName+";uid="+sUserName+";pwd="+sDBId+"'"
CONNECT USING serverdb;
if serverdb.sqlcode=-1 then
messagebox("提示","数据库连接失败")
return
end if
long l_return
for l_return=1 to dw_3.rowcount()
dw_3.setitem(l_return,'biaoshi','已上传')
next
for l_return=1 to dw_4.rowcount()
dw_4.setitem(l_return,'biaoshi','已上传')
next
dw_3.settransobject(serverdb)
dw_4.settransobject(serverdb)
if dw_3.update()=1 and dw_4.update()=1 then
messagebox("提示","保存成功!"+STRING(serverdb.sqlcode))
COMMIT USING serverdb;
else
messagebox("提示","保存失败!"+serverdb.sqlerrtext)
ROLLBACK USING serverdb;
DISCONNECT USING serverdb;
return
end if
DISCONNECT USING serverdb;
我想这样保存到两个数据库,可是这两部分、谁在前,谁就能保存数据,后面的就没有保存;
可没提示出错什么的,运行就正常。。。。。怎么办??
我在线等着...
快帮帮看看,先谢谢啦!!
[解决办法]
你去看看关于update()的帮助,注意第2个参数:
integer dwcontrol.Update ( { boolean accept {, boolean resetflag } } )
resetflag(optional)A boolean value specifying whether dwcontrol should automatically reset the update flags:
True - (Default) Reset the flags.
False - Do not reset the flags.
第一段代码update后就把数据窗口的更新标志重置了,所以你在第二段代码update的时候,PB认为你没有修改数据,所有就没有更新数据库。你在第一段代码里这样写应该就没问题了:dw.update(true,false)
要是这样还是不行,你看看是不是settransobject或者其他地方也会重置更新属性。要不你就把要重复提交的数据窗口多做一个,然后都提交。
[解决办法]
顶楼上,正解。itemstatus的问题