前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于PowerBuilder的搜索

PowerBuilder编程过程中的数据窗口函数-SQL技巧 首页学院源码字体下载软件电脑书 | 素材素材模板PSDPPT壁纸图片矢量酷站图标设计笔刷纹理美图|小游戏博客QQ表情投票计数器 首页|网络编程|站长之家|网页制作|图形图象|操作系统|冲浪宝典|软件教学|网络办公|手机学院|邮件系统|网络安全|认证考试 ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器 迅雷 | 电驴 | Win7 | QQ空间 | 输入法 | Ghost | Word | Excel | asp | php | Sql | Dreamweaver | Javascript | css | photoshop | fireworks | Flash 当前位置 > 网站建设学院 > 网络编程 > 数据库 > SQL技巧 Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket PowerBuilder编程过程中的数据窗口函数 发表日期:2008-6-12 新浪微博 QQ空间 QQ微博 百度搜藏 腾讯朋友 QQ收藏 百度空间 人人网 开心网 本节介绍的主要内容如下: · 与数据库有关的函数 · 行操作 · 列操作 · 数据操作 PowerBuilder为数据窗口控件提供了丰富的函数,这些函数使用户能够在使用数据窗口控件时得心应手。 与数据库有关的函数 这类函数完成与数据库有关的功能。 一、连接数据库 连接数据库也就是指定事务对象。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。 二、检索数据 用于检索数据的函数只有一个,就是Retrieve()函数。 语法格式: dw_control.Retrieve() 如果数据窗口控件上的数据窗口对象是有检索参数的,就要在这个函数调用时加上检索参数。而且检索参数必须和数据窗口对象中定义顺序一致。 此函数返回一个长整型的数据,代表检索出来的数据行数。如果发生错误,将返回-1。 三、更新数据 当用户对数据窗口对象内的数据修改后,想把这些修改反映到数据库中去时,必须使用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 在这段代码中,首先对数据窗口控件进行更新操作。但是更新只是把数据写入到客户机的内存,并没有提交到数据库中。如果更新成功,就把它提交到数据库中,如果更新失败,就回滚到当前的事务。 行操作 行操作的函数主要是对数据库中的数据进行插入、删除或选择操作。 一、插入行 在DataWindow中插入一行,可以使用InsertRow()函数。 语法格式: dw_control.InsertRow(rownumber) dw_control是数据窗口控件名,rownumber是要插入行的的行号。如果这个参数为0,代表在当前DataWindow的最后一行插入一空行。 InsertRow()函数返回一个长整型值,以此来代表插入的行号。如果插入失败,则返回-1。 二、删除行 要删除DataWindow内的一行数据,则要使用DeleteRow()函数。 语法格式: dw_control.DeleteRow(rownumber) 其中rownumber是要删除的行号。如果该值为0,表示删除当前行。如果删除成功,返回1,失败则返回-1。 三、设置当前行 如果要设置DataWindow中的某行为当前行,可以使用SetRow()函数。 语法格式: dw_control.SetRow(rownumber) 其中rownumber是要设置为当前行的行号。如果函数返回1表示成功,返回-1代表失败。 四、获取当前行 如果想要设置DataWindow中的某行为当前行,可以使用GetRow()函数。 语法格式: dw_control.GetRow() 该函数没有参数,它返回一个长整型,代表当前行号。如果返回-1代表失败。如果返回0代表没有选中任何行。 五、选择行 如果想要在DataWindow中加亮显示某一行或取消加亮显示某一行,可以使用SelectRow()函数。 语法格式: dw_control.SelectRow(rownumber,select) 其中,rownumber表示要加亮或者取消加这显示的行号,0表示所有行。select是一个布尔类型的值,TRUE表示加亮,FALSE表示取消加亮显示。该函数返回1时表示成功,返回-1时表示失败。 如果想要直接设置某一行为加亮,需要首先取消其它行的加亮显示状态,采用如下的两行代码: dw_1.SelectRow(0,FALSE) dw_1.SelectRow(rownumber,TRUE) 六、获取选择行 如果想要获取当前DataWindow中加亮显示的行,可以使用GetSelectRow()函数。 语法格式: dw_control.GetSelectRow(rownumber) 其中,rownumber为开始查找的行的行号,0表示从头开始查找。该函数返回一个长整数,表示从rownumber开始查找第一个加亮显示的行的行号。如果失败返回0。 七、滚动行 如果在DataWindow的末尾插入一行数据,而当前行是在DataWindow的中央,那么这种插入可能不会被用户觉察。为了改变这种情况,可以滚动行到DataWindow的末尾,这样用户就能发现新的改变。要滚动行,可以使用ScrollToRow()函数。 语法格式: dw_control.ScrollToRow(rownumber) 该函数返回1时表示成功,返回-1时表示失败。 与ScrollToRow()函数据功能相关的还有如下几个函数: ScrollPRiorRow():向上滚动一行 ScrollNextRow():向下滚动一行 列操作 列操作类的函数主要是选择指定的列和获取列的信息。 一、获取列 如果要获取当前的列号,可以使用GetColumn()函数,如果要获取当前的列名,可以使用GetColumnName()函数。 语法格式: dw_control.GetColumn() dw_control.GetColumnName() 这两个函数都没有参数,GetColumn()函数返回一个长整型值,代表当前的列号,GetColumnName()函数返回当前列的列名。如果返回0,表示当前没有任何列被选择返回-1表示失败。 二、设置列 要设置某一列为DataWindow中的当前列,可以使用SetColumn()函数。 语法格式: dw_control.SetColumn(column) 其中column既可以是列号,也可以是列名。当该函数返回1时表示成功,返回-1时表示失败。 数据操作 数据操作类的函数主要是对DataWindow中的数据进行获取、设置。 一、获取数据 如果要从DataWindow的指定行和列中获取数据,就要使用GetItem系列的函数。这个系列的函数共有五个,分别是对字符串、数字、日期、日期时间和小数。 语法格式: dw_control.GetItemString(rownumber,column) dw_control.GetItemNumber(rownumber,column) dw_control.GetItemDate(rownumber,column) dw_control.GetItemDateTime(rownumber,column) dw_control.GetItemDecimal(rownumber,column) 其中,rownumber参数表示行号,column可以是列号或列名。 二、设置数据 与获取数据所用的函数不同,设置DataWindow内指定行列处的数据只要使用一个SetItem()函数就可以了。 语法格式: dw_control.SetItem(rownumber, column, value) 其中rownumber表示行号,column可以是列号,也可以是列名,value表示要设置的值。但是该必须与DataWindow中指定的行列处的数据类型一致,不然PowerBuilder会报错。 SetItem()函数返回1时表示成功,返回-1时表示失败。 三、数据排序 如果希望对DataWindow内的数据进行重新排序,而又不想重新从数据库中检索数据,可以使用SetSort()和Sort()函数。这两个函数一起完成对DataWindow进行排序的功能。其中SetSort()函数用于设置如何排序,Sort()函数用于对DataWindow实际进行排序。 语法格式: dw_control.SetSort(expression) dw_control.Sort() 其中expression是一个字符串,表示排序的表达式,它的具体值是一个列名后面加一个空格,然后是"A",表示升序,或"D",表示降序。如果有多个列要同时进行排序,它们之间用逗号隔开。 例:dw_1.SetSort("name A,xh D") 这两个函数都是返回1表示成功,返回-1表示失败。 四、数据过滤 如果希望对DataWindow内的数据进行过滤而不重新从数据库中检索数据,可以使用SetFilter()和Filter()函数。它们一起完成对数据的过滤功能。其中SetFilter()函数用来设置过滤条件,Filter()函数用于对DataWindow进行过滤。 语法格式: dw_control.SetFiter(expression) dw_control.Fiter() 其中expression是一个字符串,表示过滤的条件,它实际是一个逻辑表达式。 例: dw_1.SetFilter("id>\'003\' AND name like\'王%\'") dw_1.Filter() 这两个函数都是返回1表示成功,返回-1表示失败。 五、数据检查 PowerBuilder提供了两个函数用于数据的检查,它们是DeleteCount()和ModifiedCount(),其作用分别是检查DataWindow中的数据自上一次更新到现在,被删除的行数和被修改的行数。它们一般在窗口的CloseQuery事件中使用,用来检查该窗口的DataWindow中的数据是否有尚未保存的修改。 语法格式: dw_control.DeleteCount() dw.control.ModifiedCount() 它们分别返回从上一次更新到现在,DataWindow中被删除和被修改的行数。如果没有行被删除或被修改,那么它们返回0。如果出现错误则返回-1。 一般情况下,如果窗口中含有可供修改的数据窗口对象,那么在窗口的CloseQuery事件中通常使用如下代码检查数据窗口对象中是否有尚未保存的数据: Int li_return IF dw_1.ModifiedCount() > 0 OR dw_1.DeletedCount() >0 THEN li_return = MessageBox("提示","数据尚未保存,是否保存?",Question!,YesNoCancel!,3) CHOOSE CASE li_return CASE 1 TriggerEvent(\'ue_save\') RETURN 0 CASE 2 RETURN 0 CASE 3 RETURN 1 END CHOOSE END IF 关注此文的读者还看过: ·2014-1-29 7:14:00 通用SQL数据库查询语句精华使用简介 ·2014-1-29 7:13:00 关于在SQL-SERVER里调用COM组件 ·2014-1-29 7:13:00 用共享游标提升 SQL 性能 ·2014-1-29 7:13:00 启用数据库复制时为什么会出现18483错误 ·2014-1-29 7:13:00 个人经验总结:数据挖掘与数据抽样概述 ·2014-1-29 7:13:00 一位DBA总结的数据库反规范设计常用方法 站长推荐 PS笔刷下载 在线翻译 系统进程 广告代码 教程搜索服务 本月文章推荐 ·拷贝的SQL Server 7数据库的. ·正确认识对象数据库与关系数. ·Sql server安装2005中Advent. ·详解SQL Server的版本区别及. ·如何维护SQL Server的“交易. ·用SQL语句实现异构数据库之间. ·SQL高手篇:精妙SQL语句介绍. ·关于在SQL-SERVER里调用COM组. ·在Linux下访问MS SQL Server. ·SQL一个存储过程调用另一个存. ·sql存储过程分页算法研究. ·mssql默认不区分大小写;向ex. ·编程管理sql server的帐号. ·改变默认设置并且给每个文件. ·MS SQL Oracle MySQL查出值为. 项目外包信息 ·logo设计 2000元 ·想找个有棋牌设计经验的网页美工 ·公司网站改版 ·网络公司网站设计(静态页面) ·地方门户首页模板设计与系统整合 ·金融类网站 ·淘宝店铺装修 ·长期承接WEB应用、数据库外包项 ·游戏UI外包公司承接游戏UI美术外 ·一共3个页面切图 ·长期网页设计外包 ·网络商城平台搭建 ·网站设计 只做前端,要求扁平化 ·寻找优秀网站/平面设计师 ·USB HOST转RS232 发布信息 浏览信息 邮件订阅服务 输入你的邮件地址,你将不会错过任何关于<SQL技巧>的内容 数据教程文章分类 SQL教程 SQL技巧 SQL安全 SQL文摘 Oracle教程 MySQL教程 Access教程 DB2教程 Sybase教程 站长工具:Google PR查询 Alexa排名查询 网站速度测试 CSS在线编辑器 OPEN参数生成器 弹出式窗口代码产生器 密码登录生成器 在线按钮生成器 Meta标签生成器 邮箱图标在线生成 多色彩特效字代码生成器 网页代码调试器 在线FTP登陆 Flash取色器 配色代码对照表 配色辞典 CSS生成器 CSS在线压缩 广告代码 框架网页代码生成器 js/vbs加密 md5加密 进制转换 UTF-8 转换工具 在线调色板 Html转换js Html转换asp Html转换php Html转换perl HTML/JS格式化 ASCII字形生成器 页面转换效果生成器实用工具:汉字翻译拼音 拼音字典 在线翻译 天气预报 火星文 在线网速测试 符号对照表 个税计算 苹果壁纸 理财工具 黄金价格 白银价格 购房银行按揭利率计算 汇率查询 金融导航 经典小工具 汉字简繁转换 普通单位换算 公制单位换算 生辰老黄历 国内电话区号 国家代码与域名缩写 文字加密解密 元素周期表 健康查询 世界时间 全国各地车牌查询 全国车辆交通违章查询 万年历 二十四节气 汉字横竖排版 手机号码查询 计算器 ip搜索 酒店预订 机票预订 广告刊登 | 版权声明 | 联系我们 | 加入收藏 | RSS订阅 Copyright &copy; 2000-2013 www.knowsky.com All rights reserved | 沪ICP备05001343号