powerBuilder datawindow常见函数

  • datawindow.settrans( /*transaction t */)                //settrans()函数把参数中指定的事务对象的值复制到数据窗口控件的内部事务对象中。当对某个数据窗口控件执行settrans()函数后,该数据窗口控件就使用其内部事务对象根据需要连接和断开与数据库的连接,并且当发生错误时自动回滚事务。当希望PowerBuilder自动管理与数据库的连接时,使用settrans()函数,该方法只在需要时连接数据库,访问了数据后,数据窗口控件自动与数据库断开连接。

  • datawindow.retrieve( )                                                     //为datawindow从数据库中提取数据;函数执行成功时,返回显示在数据窗口中的数据行的行数(即主缓冲区的数据行数);函数执行失败时返回-1。如果任何参数的值为null,则函数返回null

  • datawindow.setfilter()                                                      //定义数据窗口控件的过滤条件,程序运行时,检索出数据窗口中的数据后,不满足过滤条件的数据立刻从主缓冲区被移动到过滤缓冲区

  • datawindow.filter()                                                           //在数据窗口控件中显示满足当前过滤条件的行,不满足过滤条件的行将从主缓冲区中移动到过滤缓冲区

  • datawindow.setsqlselect( /*readonly string s */)           //做SQL语句查询:其中s是查询语句

  • messageBox("提示","xxxxxxxxxxxxxxxxxx")         //弹出窗口显示"提示"以及"xxxxxxxxxxxxxxxxxx"

  • datawindow.rowcount( )                                        //得到当前数据项的行数

  • datawindow.insertrow( /*long r */)                        //在r行前面位置插入一行,要在数据窗口控件的最后一行后面插入一行,那么将r参数指定为0

  • datawindow.scrolltorow( /*long r */)                     //滚动到r行,如果r参数设置为0,则滚动到第一行;如果r大于最后一行的行号,则滚动到最后一行

  • datawindow.setfocus( )                                          //设置焦点

  • datawindow.getrow()                                              //得到当前的行号

  • datawindow.deleterow( /*long r */)                         //删除当前的r行

  • datawindow.update()                                              //更新数据窗口,更新成功时返回1,否则-1; 把数据窗口控件中所有数据修改传送到数据库,从而更新数据库中的数据。update()函数在更新数据库之前会调用acceptText()函数把“漂浮”在当前行/列上的编辑框中的内容放入到数据窗口控件的缓冲区中。

  • datawindow.accepttext( )                       //刷新,把修改的数据真正反应到数据窗口的缓冲当中去

  • close(parent)                                                          //关闭窗口

连接数据库并筛选数据条的标准写法

dw_1.settransobject( sqlca)           //连接数据库
dw_1.retrieve()                       //为datawindow从数据库中提取数据
dw_1.setfilter( "学生编号='"+trim(sle_1.text)+"' ")       //括号中为where条件,功能:过滤条件
dw_1.filter( )
显示或关闭窗口

dw_1.setredraw(false)                  //关闭窗体
dw_1.setredraw(true)                   //显示窗体
在最后一行插入数据

m=dw_2.rowcount()             //得到总行数
dw_2.insertrow(m+1)
dw_2.scrolltorow(m+1)

//设置新插入的数据条数据
dw_2.object.student_id[m+1]=sle_1.text
dw_2.object.book_id[m+1]=sle_2.text
dw_2.object.borrow_book_date[m+1]=string(today())
dw_2.object.remark[m+1]="未归还"
更新数据库数据

if dw_1.update()=1 then
	//如果更新成功,则进行事务提交
	commit using sqlca;
	messagebox("成功!","更新数据库成功!")
else
	//如果更新不成功,则进行事务回滚
	rollback using sqlca;
	messagebox("失败!","更新数据库失败!")
end if

另外,补充RadioButton(单选框)的选中函数

rb_1.checked               //选中状态

判断SQL语句执行后是否有数据

if SQLCA.SQLcode=100 then               //100表示没有数据
	messagebox("提示","密码错误")
elseif sqlca.sqlcode=-1 then
	messageBox(string(sqlca.sqlcode),string(sqlca.sqlerrtext))       //SQL语句执行不成功
else
	messagebox("提示","登录成功")

在数据的最后插入一行,并且滚动到最后一行,获取焦点

//插入新的一行
l_row=dw_1.insertrow(0)

//滚动到最后一行
dw_1.scrolltorow(l_row)

//设置焦点
dw_1.setfocus()

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
String sign =""; if( null != map.get("sign")){ sign = map.get("sign"); } log.info("买气退款回调参数"+map.toString()); String isRepeat = stringRedisTemplate.opsForValue().get((refundOrderNo+"repeat")); if(null == isRepeat || isRepeat.length() <= 0){ log.info("支付结束"); return null; }else{ stringRedisTemplate.delete((refundOrderNo+"repeat")); } Map<String,String> codeMap = MapUtil.newHashMap(); codeMap.put("serialNumber",outTradeNo); List<H5UserPayCode> list = h5UserPayCodeServiceImpl.byList(codeMap); H5UserPayCode payCode = list.get(0); payCode.setIsRefund(1); payCode.setRefundTime(LocalDateTime.now()); payCode.setRefundCode(refundOrderNo); if(h5UserPayCodeServiceImpl.updateById(payCode)) { stringRedisTemplate.delete(refundOrderNo); log.info("开始往稠州银行写数据-退款数据"); String tempUrl = platformConfig.getPayCzcb().getBaseUrl() + "gasbusiness/v2/orderRefund"; CzcbSFTRefundVO czcbSFTRefundVO = new CzcbSFTRefundVO(); czcbSFTRefundVO.setChannel_no(platformConfig.getPayCzcb().getChannelNo()); czcbSFTRefundVO.setApp_no(platformConfig.getPayCzcb().getAppNo()); String serialNo = SerialNoUtil.genSerialNo("OAC"); czcbSFTRefundVO.setSerial_no(serialNo); czcbSFTRefundVO.setOrder_no(payCode.getOrderCode()); // czcbSFTPayVO.setOrder_type("A"); DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); czcbSFTRefundVO.setRefund_time(dtf.format(payCode.getCreateTime())); czcbSFTRefundVO.setRefund_amount(new BigDecimal(payCode.getAmount()+"")); czcbSFTRefundVO.setOut_trade_no(payCode.getSerialNumber()); czcbSFTRefundVO.setOut_refund_no(refundOrderNo); czcbSFTRefundVO.setTrans_amount_1(BigDecimal.ZERO); czcbSFTRefundVO.setTrans_amount_2(BigDecimal.ZERO); czcbSFTRefundVO.setTrans_amount_3(new BigDecimal(payCode.getAmount()+"")); czcbSFTRefundVO.setRemark("盛付通订单支付退款"); //判断是正式还是测试 if ( SpringContextUtil.isProd() ) { czcbSFTRefundVO.setOpp_account_no("1010220406000001"); // czcbSFTRefundVO.setOpp_account_no("1010220214000003"); }else{ czcbSFTRefundVO.setOpp_account_no("1010220214000003"); } czcbSFTRefundVO.setOpp_account_name("义乌市城建燃气经营有限公司"); czcbSFTRefundVO.setTrans_amount_4(BigDecimal.ZERO); czcbSFTRefundVO.setTrans_amount_5(new BigDecimal(payCode.getAmount()+"")); czcbSFTRefundVO.setTrans_amount_6(BigDecimal.ZERO); // 操作日期 czcbSFTRefundVO.setTrans_date(DateTime.now().toString("yyyy-MM-dd")); // 操作时间 czcbSFTRefundVO.setTrans_tradetime(DateTime.now().toString("yyyy-MM-dd HH:mm:ss")); czcbSFTRefundVO.setSign_data(SignUtil.addSignMD5(BeanUtil.beanToMap(czcbSFTRefundVO), platformConfig.getPayCzcb().getKey())); log.info("开始往稠州银行写数据:" + JSON.toJSONString(czcbSFTRefundVO)); String result = HttpUtil.post(tempUrl, JSON.toJSONString(czcbSFTRefundVO)); log.info("开始往稠州银行写数据:" + result); if(isSuccess(result)){ log.info("开始往稠州银行写数据写入成功"); } } }catch(Exception ex){ ex.printStackTrace(); } return new R(200,"回调成功"); }
03-06

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值