pb9吧 关注:2贴子:15
  • 4回复贴,共1

pb中数据窗口函数总结,很有用处

只看楼主收藏回复

pb中数据窗口函数总结,很有用


IP属地:四川1楼2016-04-05 13:57回复
    一、连接数据库
    连接数据库也就是指定事务对象。PowerBuilder提供了两个函数:SetTrans()和SetTransObject()。
    语法格式:
    dw_control.SetTrans(TransactionObject)
    dw_control.SetTransObject(TransactionObject)
    其中,dw_control是所使用的数据窗口控件,transactionObject是所要指定的事务对象。
    这两个函数有一个重要的区别就是在使用SetTrans()函数时,用户不需做任何数据初始化或事务对象初始化工作。用户只需要在这里填充一个事务对象,PB就会自动完成对该事物对象的初始化以及和数据库连接的工作。而使用SetTransObject()函数时,用户必须首先把所用的事务对象连接到数据库上。
    但是,这并不意味着SetTrans()函数比SetTransObject()函数更好,使用SetTrans()函数时,每调用一次函数必须连接一次数据库,因为这个函数在每个事务处理的末端都会执行Disconnect语句。与此相反,使用SetTransObject()函数可以为数据库维持一个开放性的连接。因此在一般情况下,为了提高效率,总是采用SetTransObject()函数。
    这两个函数都是成功时返回1,发生错误时返回-1。


    IP属地:四川2楼2016-04-05 13:57
    回复
      二、检索数据
      用于检索数据的函数只有一个,就是Retrieve()函数。
      语法格式:
      dw_control.Retrieve()
      如果数据窗口控件上的数据窗口对象是有检索参数的,就要在这个函数调用时加上检索参数。而且检索参数必须和数据窗口对象中定义顺序一致。
      此函数返回一个长整型的数据,代表检索出来的数据行数。如果发生错误,将返回-1。


      IP属地:四川3楼2016-04-05 13:57
      回复
        三、更新数据
        当用户对数据窗口对象内的数据修改后,想把这些修改反映到数据库中去时,必须使用Update()函数。
        语法格式:
        dw_control.Update()
        这个更新可能成功,也可能失败。一般在这个函数被调用之后,总是要做一个检查。请看下面的例子:
        Int li_return
        li_return = dw_1.Update()
        IF li_return = 1 THEN
        COMMIT USING SQLCA;
        ELSE
        ROLLBACK USING SQLCA;
        END IF
        在这段代码中,首先对数据窗口控件进行更新操作。但是更新只是把数据写入到客户机的内存,并没有提交到数据库中。如果更新成功,就把它提交到数据库中,如果更新失败,就回滚到当前的事务。


        IP属地:四川4楼2016-04-05 13:58
        回复
          行操作
          行操作的函数主要是对数据库中的数据进行插入、删除或选择操作。
          一、插入行
          在DataWindow中插入一行,可以使用InsertRow()函数。
          语法格式:
          dw_control.InsertRow(rownumber)
          dw_control是数据窗口控件名,rownumber是要插入行的的行号。如果这个参数为0,代表在当前DataWindow的最后一行插入一空行。
          InsertRow()函数返回一个长整型值,以此来代表插入的行号。如果插入失败,则返回-1。


          IP属地:四川5楼2016-04-05 13:59
          回复