实例7-1 基本查询 实例目标设计一个查询窗口,对特定的数据表,选择某一字段,指定 条件进行查询。
技术SQL语句的获取和设置。
准备工作文件夹、工作空间、应用程序对象、对象库、目标。 test.db作为测试数据库。 配置ODBC数据源、建立一个描述文件、连接数据库。
实例7-1 基本查询 实例数据窗口对象d_mquery设计Freeform样式、“学生信息”表所有列。
窗口w_mquery布局设计标题、窗口类型、图标 数据窗口控件dw_1,DataObject属性 两个下拉列表框 三个单行编辑框 六个命令按钮,Text属性。
实例7-1 基本查询 实例代码设计窗口open事件代码 窗口的用户事件及其代码(减少代码重复量) “首行”、“上行”、“下行”、“末行”和“退出”命令 按钮代码 “查询”命令按钮代码(技术核心,sql语句的获取和设置, 字段类型自适应) 应用程序对象代码
使用可对任意数据表查询,只要创建并连接相应的数据窗口对象, 再修改窗口w_mquery的open事件代码,添加表中各字段名 到下拉列表控件ddlb_1中即可。可适应于各种不同的字段类 型。
实例7-2 模糊、增量和精确查询 模糊、 实例目标在查询窗口中可以指定“模糊查询”、“增量查询” 和“精确查询”的任意一种,按所需的字段进行查 询。
技术用户事件ID的选用,过滤条件的设置,通配符的使 用。
准备文件夹、工作空间、应用程序对象、对象库、目标。 ODBC数据源、描述文件、连接数据库test.db。
实例7-2 模糊、增量和精确查询 模糊、 实例数据窗口对象d_query设计Grid风格、“学生信息”表全部字段。或将实例4-2的数据 窗口对象d_student复制到当前对象库,另存为d_query。
窗口w_main布局设计标题、窗口类型、图标。 数据窗口控件dw_1,DataObject属性。 分组框,Text属性。 三个单选按钮 下拉列表框,Items属性。 单行编辑框 命令按钮“全部”
实例7-2 模糊、增量和精确查询 模糊、 实例代码设计窗口的open事件代码 单行编辑框代码 用户事件u_inc,Event ID选pbm_enchange,代码。 通配符“%”表示多个任意字符。 单选按钮代码 命令按钮代码 应用程序对象代码
使用模糊、增量、精确三种查询方式 查询字段只能是字符型
实例7-3 通用全字段查询 实例目标对任意数据窗口对象,只要在任意字段上输入一个值,然后, 选择一个关系运算符,就可以得到一个与该字段对应的关系 表达式,进一步,还可以产生一般的逻辑表达式作为过滤条 件进行过滤,达到查询的目的。 即对任意表、按所有字段、任意指定条件进行查询。
准备文件夹、工作空间、应用程序对象、对象库、目标。 ODBC数据源、描述
文件、连接数据库test.db作为测试数据 库。
实例7-3 通用全字段查询 实例数据窗口对象设计d_jsxx(教师信息、网格样式) d_xsxx(学生信息、自由表样式)
应用程序对象代码 定义全局变量op_r 保存关系运算符名(字符串) cmx 复合查询标志(“假”表示简单查询)
实例7-3 通用全字段查询 实例弹出式菜单m_popup设计 窗口w_serch及控件布局标题、窗口类型、图标 数据窗口控件dw_1 四个图形按钮 下拉列表ddlb_1 三个命令按钮 三个单行编辑框
下拉列表框属性和代码Items属性 selectionchanged事件代码
实例7-3 通用全字段查询 实例“擦除条件”和“开始查询”按钮代码 查询内容的输入dw_1的itemchanged、itemerror、rowfocuschanged事件代 码
查询条件的生成dw_1的rbuttondown事件代码
图形按钮和“退出”按钮代码 运行和测试可挂接到任意一个PowerBuilder应用软件,只要修改ddlb_1 的item属性和selectionchanged代码即可。 使用时,首先选择表(对应数据窗口对象),然后单击某一 字段的编辑区,输入要查询的信息,单击鼠标右键,选择关 系运算符,产生条件表达式。Alt+Q或按钮“开始查询”。
实例7-4 通用选字段查询 实例目标实现对任意表的查询,输出字段、排序字段、查询条件都可 以随意指定。
技术在程序运行过程中根据用户指定的字段,动态建立数据窗口 对象。通过用户指定的条件对记录进行过滤,达到查询的目 的。
准备工作文件夹、工作空间、应用程序对象、对象库、目标。 ODBC数据源、描述文件、连接数据库test.db作为测试数据 库。 应用程序对象open事件代码。
实例7-4 通用选字段查询 实例窗口w_serch和控件布局设计标题、类型、“最大化”按钮、图标属性。 数据窗口控件dw_1 下拉列表ddlb_1 三个命令按钮 单行编辑框sle_2 选项卡框tab_1 选项卡tabpage_1放列表框lb_1、单行编辑框sle_1和两个命 令按钮 选项卡tabpage_2放列表框lb_2,单行编辑框sle_3,一个命 令按钮,两个单选按钮。 选项卡tabpage_3放列表框lb_3,下拉列表框ddlb_2,两个 单行编辑框,两个单选按钮,两个命令按钮。
实例7-4 通用选字段查询 实例窗口实例变量和ddlb_1代码声明四个实例变量 下拉列表框ddlb_1的Items属性 下拉列表框ddlb_1的selectionchanged事件代码(二维数组、 系统表pbcatcol的字段pbc_tnam、pbc_cnam、pbc_jtfy和 pbc_hdr值分别存储表名、字段名、字段类型和字段标题, 查看系统表)
第一选项卡设计列表框lb_1的multiselect属性 “选中”命令按钮的clicked代码 “清除”命令按钮的clicked代码
实例7-4 通用选字段查询 实例第二选项卡设计列表框lb_2的selectionchanged事件代码 单选按钮rb_1、rb_2的clicke
d代码 “清除”命令按钮clicked代码
第三选项卡设计列表框lb_3的selectionchanged事件代码 下拉列表框ddlb_2的Items属性 下拉列表框ddlb_2的selectionchanged事件代码 “选中”按钮的clicked事件代码(字段类型24对应于binary、 integer、numeric型,25对应于char、varchar、date型) 单选按钮rb_3、rb_4的clicked代码 “清除”命令按钮的clicked代码
实例7-4 通用选字段查询 实例窗口控件代码“查询”按钮代码(形成SQL的SELECT语句,建 立数据窗口对象,挂接到dw_1) “打印”、“退出”按钮的clicked事件代码
运行和测试可挂接到任意一个PowerBuilder应用软件当中,只 要修改ddlb_1的Items属性和selectionchanged代码 即可。 选择表后,相应的字段名便显示在三个选项卡的列 表框中。
实例7-4 通用选字段查询 实例选择输出字段Ctrl键,分别选择 Shift键,或拖动,连续选择
设置查询条件字段,关系运算符,内容 “选中” “并且”、“或者” “清除”