社区
DataWindow
帖子详情
请问在多表更新时,用dw_1.update() 和dw_1.update(true,false)的区别?
FSB
2004-06-26 11:08:41
请问在多表更新时,用dw_1.update() 和dw_1.update(true,false)的区别?
...全文
443
9
打赏
收藏
请问在多表更新时,用dw_1.update() 和dw_1.update(true,false)的区别?
请问在多表更新时,用dw_1.update() 和dw_1.update(true,false)的区别?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
computer0408
2004-06-29
打赏
举报
回复
顶
chucjjing
2004-06-28
打赏
举报
回复
学了点新知识!谢谢
swordmanli
2004-06-28
打赏
举报
回复
打一个简单的比方吧
dw_1.update() 只管自己,自己更新成功了,就把自己的status改掉了
dw_1.update(true,false)自己更新成功了,但是还不敢改掉自己的状态,要等等看大家是否都更新成功了,如果都更新成功了再通过resetUpdate()来改变自己的状态。
dw_1.update()相当于dw_1.update(true,false)后立马调用dw_1.resetUpdate()
Tomtop
2004-06-28
打赏
举报
回复
sbks(hwnd,&rect)说得对!
jiangjildy
2004-06-27
打赏
举报
回复
你看一看帮助文档里的update函数,既有说明又有例子,全面得很,没有必要在网上求助,
给你个全面的回答也太废时间了。
zhouweiwansui
2004-06-27
打赏
举报
回复
补充楼上的:重置更新标志的意思是将所有行设置为NotModified!,及已经更新。
如果不设置这个标志,那么你重复点两下update按钮的时候就会再次生成相同的sql语法。
TGWall
2004-06-27
打赏
举报
回复
Update的函数格式: dwcontrol.update([accept[,resetflag]])
参数描述: accept---为true时(缺省值)在执行之前调用accepttext()函数; resetflag--为true时(缺省值)数据窗口更新后自动重置更新标志.
由上得知dw_1.update()相当于dw_1.update(true,true), 这时你应当知道dw_1.update() 和dw_1.update(true,false)的区别了吧?
sbks
2004-06-27
打赏
举报
回复
呵,看起来我有点描述不太清楚。建议楼主找一个关于数据窗口的原理的资料来读一下,就会明白了,我当年也是这样嘀
sbks
2004-06-27
打赏
举报
回复
update():相当于update(true,true),第二个参数是说让数据窗口自动管理状态标志,如果在多表提交中,万一update()成功,但最终commit不成功,那么你就无法再重新获得状态标志了,因为它们被自动管理,此时,数据窗口是没有办法再帮你重新生成你所想要的SQL语句
update(true,false):第一个参数是设置是否自动accepttext,这与多表提交无关,就不说了。而第二个参数设为false,那么你自己管理状态标志(使用resetflag()来重设标志)。这样,当你commit不成功时,在数据窗口中修改正确数据,再update(),数据窗口会重新生成sql语句给你提交。
多个
DW
进行
update
时
正确的写法
多个
DW
进行
update
时
正确的写法(转帖)2010-04-11 19:44这种写法有
时
候不能全部成功: if
dw
_1.
update
()= 1 and
dw
_2.
update
()=1 ... then commit; else rollback; end if 正确的写法应该这样: 。。。。
PB控件详细讲解
一组详细的控件描述 里面包含了详细讲解了控件的用法,事件 方法 还有简约的代码实例,新手看了绝对能让你能自己动手做事
在PB中如何控制DATAWINDOW列的修改属性
在PB中如何控制DATAWINDOW列的修改属性
pb中数据窗口函数小结
掌握了pb中数据窗口,pb差不多就会了。
PB实现微信、支付宝、新大陆星POS支付-9.0.rar
PB新大陆星POS扫码支付源码,调用C#动态库,简单实现接口,采用POWERBUILDER9.0开发 string ls_url string ls_data string ls_dd string ls_zfqd //【交易类型--传入平台用】 if rb_1.checked =
true
then ls_zfqd = "WXPAY" end if if rb_2.checked =
true
then ls_zfqd = "ALIPAY" end if if rb_3.checked =
true
then ls_zfqd = "YLPAY" end if //【生成请求地址===从配置参数中维护请求地址的一部分】 ls_url = gs_pos_requesturl + "sdkBarcodePay.json" //【判断输入金额是否符合要求】 if dec(em_1.text) <= 0.00 then messagebox("系统提示【MYSOFT】","所输金额不正确!~r~n请重新输入!") em_1.setfocus() return end if //【判断商户订单号是否为空】 if sle_4.text = "" then messagebox("系统提示【MYSOFT】","订单号不能为空!") return end if //【判断是否扫描付款码】 if sle_code.text = "" then messagebox("系统提示【MYSOFT】","付款码不能为空!") sle_code.setfocus() return end if //【判断是否扫描付款码】 if len(sle_code.text) = 0 then messagebox("系统提示【MYSOFT】","请扫描服务对象付款码... ...") sle_code.setfocus() return -1 end if //【判断订单号是否为空】 if len(sle_4.text) = 0 then messagebox("系统提示【MYSOFT】","订单号不能为空!") sle_4.setfocus() return -1 end if //【初始化伪随机数发生器,让应用程序每次运用不同的伪随机数序列。】 randomize(0) //【清除is_keys[] is_value[]】 inv_wxpay.of_clear() //====================生成公共请求参数============================================================== //【操作系统:3-直连】 inv_wxpay.of_add_pos("opSys","3") //【字符集:00-GBK】 inv_wxpay.of_add_pos("characterSet","00") //【机构号,从配置参数维护】 inv_wxpay.of_add_pos("orgNo",gs_pos_orgno) //【商户号,从配置参数维护】 inv_wxpay.of_add_pos("mercId",gs_pos_mercid) //【设备号,从配置参数维护】 inv_wxpay.of_add_pos("trmNo",gs_pos_trmno) //【商户单号,不能重复,若重复则返回:数据库错误】 inv_wxpay.of_add_pos("tradeNo",sle_4.text) //【设备端交易
时
间:yyyymmddhhmmss】 inv_wxpay.of_add_pos("txnTime",string(now(),"yyyymmddhhmmss")) //【签名方式:MD5】 inv_wxpay.of_add_pos("signType","MD5") //【版本号:默认V1.0.0】 inv_wxpay.of_add_pos("version","V1.0.0") //==================生成商户主扫请求参数============================================================ //【实付金额:分为单位】 inv_wxpay.of_add_pos("amount",string(long(dec(em_1.text) * 100))) //【订单总金额:分为单位】 inv_wxpay.of_add_pos("total_amount",string(long(dec(em_1.text) * 100))) //【扫码支付授权码】 inv_wxpay.of_add_pos("authCode",sle_code.text) //【支付渠道:WXPAY,ALIPAY,YLPAY】 inv_wxpay.of_add_pos("payChannel",ls_zfqd) //【请求参数数据签名,并生成JSON格式数据】 mle_1.text = inv_wxpay.of_get_json() ls_data = trim(mle_1.text) mle_2.text = "" //【POST数据到平台,并接收返回数据:JSON格式】 mle_2.text = inv_wxpay.of_post_pos(ls_url,ls_data) //【返回JSON数据转换为XML数据,用于交易解析】 mle_2.text = inv_wxpay.of_json_to_xml(mle_2.text) //===================================以下判断订单交易情况============================================= if gf_xml_resolve_pos(mle_2.text,"returnCode") = "000000" and gf_xml_resolve_pos(mle_2.text,"result") = "S" then if
dw
_2.rowcount() = 1 then //【请求数据XML】
dw
_2.object.in_xml[1] = mle_1.text //【交易金额】
dw
_2.object.amount[1] = dec(em_1.text) //【交易
时
间】
dw
_2.object.zf_date_wx[1] = gf_xml_resolve_pos(mle_2.text,"sysTime") //【订单状态--保存本地数据库】
dw
_2.object.trade_state[1] = "支付成功" //【支付渠道订单号,可用于退款】
dw
_2.object.dd_code[1] = gf_xml_resolve_pos(mle_2.text,"orderNo") //【付款码】
dw
_2.object.fk_code[1] = sle_code.text
dw
_2.object.zffs[1] = 1 //【
更新
交易到数据库】 if
dw
_2.
update
() = 1 then commit using sqlca;
dw
_2.retrieve(trim(sle_4.text)) else rollback using sqlca; end if end if //【执行查单操作】 cb_21.triggerevent(clicked!) //【刷新本地数据】 cb_7.triggerevent(clicked!) return end if //========================================以下判断交易执行情况================================================== if gf_xml_resolve_pos(mle_2.text,"returnCode") = "000000" and gf_xml_resolve_pos(mle_2.text,"result") = "A" then messagebox("支付提示【MYSOFT】","状态:【A-等待授权】~n~n【特别注意】:请等候服务对象输入密码确认成功后点[确定]...~n~n还可通过【查询订单状态】检查订单支付情况!") if
dw
_2.rowcount() = 1 then
dw
_2.object.in_xml[1] = mle_1.text
dw
_2.object.amount[1] = dec(em_1.text)
dw
_2.object.dd_code[1] = ""
dw
_2.object.fk_code[1] = sle_code.text
dw
_2.object.zffs[1] = 1
dw
_2.object.trade_state[1] = "订单未支付" if
dw
_2.
update
() = 1 then commit using sqlca;
dw
_2.retrieve(trim(sle_4.text)) else rollback using sqlca; end if end if cb_21.triggerevent(clicked!) cb_7.triggerevent(clicked!) return end if if gf_xml_resolve_pos(mle_2.text,"returnCode") = "000000" and gf_xml_resolve_pos(mle_2.text,"result") = "A" then messagebox("支付提示【MYSOFT】","订单等待授权~n~n支付单号:【" + gf_xml_resolve_pos(mle_2.text,"orderNo") + "】~n~n支付状态:【" + gf_xml_resolve_pos(mle_2.text,"result") + "】~n~nA-等待授权,S-交易成功,F-交易失败,Z-交易未知,D-订单已撤销!~n~n请重新支付!~n~n系统返回message:" + inv_wxpay.of_utf8togb3212(gf_xml_resolve_pos(mle_2.text,"message"))) return end if if gf_xml_resolve_pos(mle_2.text,"returnCode") = "000000" and gf_xml_resolve_pos(mle_2.text,"result") = "F" then messagebox("支付提示【MYSOFT】","订单交易失败~n~n支付单号:【" + gf_xml_resolve_pos(mle_2.text,"orderNo") + "】~n~n支付状态:【" + gf_xml_resolve_pos(mle_2.text,"result") + "】~n~nA-等待授权,S-交易成功,F-交易失败,Z-交易未知,D-订单已撤销!~n~n请重新支付!~n~n系统返回message:" + inv_wxpay.of_utf8togb3212(gf_xml_resolve_pos(mle_2.text,"message"))) return end if if gf_xml_resolve_pos(mle_1.text,"returnCode") = "000000" and gf_xml_resolve_pos(mle_1.text,"result") = "D" then
DataWindow
611
社区成员
20,469
社区内容
发帖
与我相关
我的任务
DataWindow
PowerBuilder DataWindow
复制链接
扫一扫
分享
社区描述
PowerBuilder DataWindow
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章