• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

在PB中根据结构伸展文件创建数据表

发布: 2007-7-02 11:08 | 作者: admin | 来源: | 查看: 16次 | 进入软件测试论坛讨论

领测软件测试网

在PowerBuilder(文中简称PB)中,没有现成的像 VFP 中根据结构伸展文件生成数据表的函数。而在数据库应用系统的开发中,常常需要根据用户的要求创建数据表。我们可以仿照VFP的结构伸展文件创建一个数据表sjbjg(如图),用来存放用户欲创建数据表的结构,从而来相对简单地解决这个问题。

 

为sjbjg数据表建立一个名为d_sjbjg的Grid数据窗口,数据源采用Quick Select。

新建一个窗口,添加一个数据窗口控件dw_1和一个按钮控件cb_1。Dw_1的dataObject设置为d_sjbjg,cb_1的text设置为“创建数据表”。在cb_1的Clicked事件中输入以下代码:

string Mysql

int ls_last,row

mysql=@#drop table Tablename@# // Table name创建的数据表名称

execute immediate :Mysql USING SQLCA;

Mysql=@#create TABLE Tablename (@#

ls_last=dw_1.rowcount()

if ls_last>0 then

for row=1 to ls_last

mysql=mysql+trim(dw_1.GetItemString(row,“Field_name ”))//相应的数据表字段名

choose case dw_1.GetItemString(row,“Field_type”)//相应数据表字段类型

case @#char@#

mysql=mysql+@# char(@#+trim(dw_1.GetItemString(row,“Field_len”))+@#) @#//相应数据表字段长度

case @#decimal@#

mysql=mysql+@# decimal(@#+trim(dw_1.GetItemString(row,“Field_len”))+@#,@#

mysql=mysql+trim(dw_1.GetItem String(row,“Field_dec”))+@#) @#

case @#integer@#

mysql=mysql+@# integer @#

case @#date@#

mysql=mysql+@# date @#

end choose

if row<>ls_last then mysql=mysql+@#,@# else mysql=mysql+@#)@#

next

end if

execute immediate :Mysql USING SQLCA;//创建数据表

messagebox(“信息提示”,@#数据表Table name创建完毕@#,information!,OK!)

由于不同数据库对数据表的数据类型要求不尽相同,故本文仅以常用的char(字符型)、decimal(十进制型)、integer(整型)、date(日期型)为例,其他数据类型参照上述类型进行修改。

本程序在PB 9.0 调试通过,数据库为PB 9.0 自带的Adaptive Server Anywhere。

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网