




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
对数据窗口的查询语句进行动态修改(1)setsqlselect、(2)dw_1.modify(DataWindow.Table.Select= )(3)dw_1.object.DataWindow.Table.Select= ICO文件是图标文件distinct只会筛选掉两条一模一样的数据select distinct 字段名 from 表名 如果是有两个字段名的话,需要两个字段两个字段都一直的才会被筛选出来distinct只能返回它的目标字段,而无法返回其它字段如果里某个栏位有重复的,而你又不想要重复的就需要用distinct。 not in 是用在WHERE 中的如果你要查询某个值不等于A,B,C的,你可以用NOT IN 用法 WHERE 栏位 NOT IN (A,B,C)如果你想查等于A,B,C的.WHERE 栏位 IN (A,B,C)单表的唯一查询用:distinct多表的唯一查询用:group by group by 必须放在 order by 和 limit之前,不然会报错一般的数据库都是认单引号引起来的东西为字符串,双引号则是错误不过嵌套的话,一般都是双里有单 一般双引号里面有单引号,是字符嵌套!PowerBuilder中有一种以PSR为后缀的特殊的保存报表的文件格式(本文简称PSR文件),数据窗口可以直接读取PSR文件生成报表,而程序通过生成PSR文件,就可以实现动态报表格式的保存。Stringls_data/使用COM1端口ole_1.object.CommPort=1/设置速率为9600,无奇偶校验,8位数据,一个停止位。ole_1.object.Settings=9600,N,8,1/读入整个缓冲区的数据。ole_1.object.InputLen=0打开端口ole_1.object.PortOpen=True/发送attention命令ole_1.object.Output=ATV1Q0+char(13)/等待数据。DoYield()/从Com端口取数据 ls_data += ole_1.object.Input LOOP Until(Pos(ls_data, OK + char(13) + char (10) 0) /向Com端口发送数据使用Output方法 ole_1.Object.Output = ls_data /关闭端口。 ole_1.object.PortOpen = FALSSQL SELECT INTO 语句可用于创建表的备份复件。SELECT INTO 语句SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。SQL SELECT INTO 语法您可以把所有的列插入新表:SELECT *INTO new_table_name IN externaldatabase /externaldatabase外部数据库FROM old_tablename或者只把希望的列插入新表:SELECT column_name(s)INTO new_table_name IN externaldatabase FROM old_tablenameSQL SELECT INTO 实例 - 制作备份复件下面的例子会制作 Persons 表的备份复件:SELECT *INTO Persons_backupFROM PersonsIN 子句可用于向另一个数据库中拷贝表:SELECT *INTO Persons IN Backup.mdbFROM Persons如果我们希望拷贝某些域,可以在 SELECT 语句后列出这些域:SELECT LastName,FirstNameINTO Persons_backupFROM PersonsSQL SELECT INTO 实例 - 带有 WHERE 子句我们也可以添加 WHERE 子句。下面的例子通过从 Persons 表中提取居住在 Beijing 的人的信息,创建了一个带有两个列的名为 Persons_backup 的表:SELECT LastName,FirstnameINTO Persons_backupFROM PersonsWHERE City=BeijingSQL SELECT INTO 实例 - 被连接的表从一个以上的表中选取数据也是可以做到的。下面的例子会创建一个名为 Persons_Order_Backup 的新表,其中包含了从 Persons 和 Orders 两个表中取得的信息:SELECT Persons.LastName,Orders.OrderNoINTO Persons_Order_BackupFROM PersonsINNER JOIN OrdersON Persons.Id_P=Orders.Id_PCREATE DATABASE 语句CREATE DATABASE 用于创建数据库。SQL CREATE DATABASE 语法CREATE DATABASE database_nameSQL CREATE DATABASE 实例现在我们希望创建一个名为 my_db 的数据库。我们使用下面的 CREATE DATABASE 语句:CREATE DATABASE my_db可以通过 CREATE TABLE 来添加数据库表。Yield()函数的功能是将控制权转移给其它图形对象,包括非 PowerBuilder对象。该函数检测消息队列,如果有消息,就把消息取出。更新:即先检索出来数据,然后可以修改,最后保存(update)但发现一旦检索出来展现在dw里面,后修改数据,再用dw_1.getitemstring(n,3)去获取,但获取的数据时老数据.这是怎么回事,怎样能得到修改后的数据?如果没移动焦点或回车,就先写dw_1.accepttext()getitemstring读取数据窗口中的值,条件是这个值必须是字符 比如:dw_1.getitemstring(1,3),取得第2行,第4列的值(行列起始从0开始标) 或者dw_1.getitemstring(1,姓名),取得第2行,列名为姓名的值(假使你有姓名这列)pb的dw中gettext()与getitemstring(i,name)(2011-08-01 23:03:18)转载分类:pb语法:dwcontrol.gettext()参数:dwcontrol 数据窗口控件名返回值:String 函数执行成功时返回悬浮在数据窗口dwcontrol 当前行列之上的编辑框中的文本,该文本值或许能、或许不能通过各种有效性检查,即或许可以接收为当前项的值,或许不能接收。如果数据窗口中没有当前项,则GetText()函数返回空字符串 ,如果dwcontrol 的值为NULL ,则GetText()函数返回NULL。语法: dwcontrol.getitemstring(i,name)参数:dwcontrol 数据窗口控件名返回值:String 函数执行成功时返回悬浮在数据窗口dwcontrol的第i行名字为name的文本。所以,当要跟踪获取鼠标点击的数据的时候用dw_1.gettext(),当要取鼠标点击的第i行,name的文本可以这样操作:int is_rowstring is_ais_row=dw_1.getrow()is_a=dw_1.getitemstring(is_row,a2)/a2为datawindow的名字为a2的列mid(as, m, n) /在字符串as中,从第m位开始截取长度为n的子串pos(as,as_sub,n) /在字符串as中,从第n位开始,查找子串as_sub第一次出现的位置if dw_1.rowcount() = 1 then /判断dw_1里为有数据这里写你要执行的东西elsemessagebox(注意!, dw_1里没数据!)end if在数据窗口中的CLICK/rowfocuschanged事件中。this.selectrow(0,false)/不选行this.selectrow(row,true)某一行选中halt直接退出程序 系统直接中止应用,可能会出现对象未正常释放的情况haltclose会执行application对象中的Close事件的代码,会在结束应用程序,前释放所有的实例halt应该尽量不用,推荐使用haltclosesqlca.sqlcode的各种取值的意义:0 最近一次sql语句执行成功-1 最近一次sql语句执行失败100 最近一次sql语句没有返回数据SQLCA.sqlcode0 最近一次SQL语句执行不成功例子1,触发缺省事件:cb_1.TriggerEvent(Clicked!)等价于:cb_1.TriggerEvent(“Clicked”)例子2,触发用户自定义事件:w_main.TriggerEvent(“ue_open”)例子3,传递信息和接收信息:w_main.TriggerEvent(“ue_open”,0,test)在用户自定义事件ue_open中接收数据:string ls_msgls_msg = String(Message.LongParm,address)例子4,传递long数据:w_main.TriggerEvent(ue_open,100,0)在用户自定义事件ue_open中接收数据:long ll_msgll_msg = Message.WordParmgetfolder()函数的功能是:保存用户选择的文件夹地址getfolder(title,directory)title是选择对话框标题,directory是保存地址。在pb中如何将datawindow栏位随著窗口一起变大?在窗口的resize事件里写,可以根据窗口大小设置不同的变化率,默认是100 dw_1.modify( datawindow.zoom=变化率) 或 dw_1.object.datawindow.zoom=变化率datawindow.table.sqlselect与datawindow.talbe.select有什么区别效果是一样的,都是用dw_1.describe(datawindow.table.sqlselect)来取dw_1的select语句。跟dw_1.getsqlselect()效果也类似dw_1.object的用法以及后面可以加的项w_1.object是指数据窗口对象中的各种控件,包括列名,控件名,比如数据窗口中有一个静态文本框ST_1,想得到他的TEXT,可以写成DW_1.OBJECT.ST_1.TEXT,如果是列名,可以这样写,如列名(也就是字段名)叫ID,那就可以写成dw_1.object.idrow得到row行的ID 的值,也可以得到他的属性,比如dw_1.object.id.visible = 1,其实很简单,就看自己多看多练了如何使pb数据窗口不可编辑变为可编辑对于整个数据窗口设置为只读后不可编辑,修正一下只读属性就可以了, dw_1.object.datawindow.readonly = no yes为只读,no可修改对于数据窗口里面某一列设置Tab=0后也是无法编辑,需要将其调整过来 dw_1.modify( 某列名.TabSequence = 某一具体数值 )还想到的一种就是将数据窗口某一列的protect属性设置了表达式,进行保护,将表达式删除即可pb中有DATE,和TIEM,DATETIME三种日期时间类型。可用以下方法:datetimeldt_nowdateldt_datetimeldt_timeldt_date=today()ldt_time=now()ldt_now=datetime(today(),now()MessageBox(当前日期:,String(Today(),yyyy-mm-dd)MessageBox(当前日期和时间:,String(Now(),yyyy-mm-ddhh:mm:ss)dwcontrol.Find(expression,start,end)参数dwcontrol数据窗口控件名 expression一个字符串用于指定要查找的条件其值是个逻辑表达式表达式中可以使用列名 start一个长整数用于指明从哪一行开始查找该参数可以大于数据的总行数 end一个长整数用于指明查找到哪一行结束查找long ll_find ll_find = dw_1.find(emp_id = 1, 1, dw_1.rowcount() 例子是这样的。 find函数是针对数据窗口控件的函数,也就是查找的主体是数据窗口,所以前边的dw_1是你要查找的数据窗口名字。 find函数中,第一个参数是查找的条件,这个例子,是emp_id字段等于1的数据。1使用单引号引起来,说明资格字段是字符型,这个地方根据类型而定。如果是数字,那么就不需要单引号了。 这个地方的条件我们在应用中一般都是动态使用的,举个例子,还是emp_id字段,查找emp_id字段等于用户在sle_1控件中输入的内容,并返回行。 string ls_emp long ll_find ls_emp = sle_1.text ll_find = dw_1.find(emp_id = +ls_emp+ ,1,dw_1.rowcount() 这个例子,emp_id仍然是字符型,如果是数字型,写法如下: ll_find = dw_1.find(emp_id = + ls_emp, 1, dw_1.rowco
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高速收费业务知识培训课件
- 高考情节手法课件
- 第2课《济南的冬天》课件-2025-2026学年统编版语文七年级上册
- 电网知识培训材料课件
- 高温天气消防知识培训课件
- 延续文化血脉可用讲课文档
- 高中物理深入探究课件
- 化工行业市场分析与投资前景
- 2025年湖北省公开遴选公务员笔试试题及答案解析(综合类)
- 2025年国家公务员政治理论应知应会知识试题库及答案
- 电动港机装卸机械司机(高级技师)职业技能鉴定理论考试题(附答案)
- 无人机打药合同协议书
- 《肥胖症诊疗指南(2024年版)》解读课件
- 乡村振兴文化旅游发展规划
- 《油气输送管道完整性评估》课件
- 《旅游学概论》课件-《旅游学概论》 第一章 旅游的产生与发展
- 2025CSCO结直肠癌诊疗指南解读
- 电力隐患培训课件
- 2025报关单填制规范
- 装修巡检流程与注意事项
- 2025年《审计理论与实务(中级)》考前几页纸
评论
0/150
提交评论