数据库

本类阅读TOP10

·SQL语句导入导出大全
·Power Designer杂记
·SQL Server日期计算
·常用的oracle函数使用说明(一)
·sqlserver2000数据库置疑的解决方法
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·SQL to Excel 的应用
·SQL语句导入导出大全
·Error:ORA-01033:ORACLE initialization or shutdown in progress错误解决
·Oracle中password file的作用及说明

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
在PB中根据结构伸展文件创建数据表

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站


在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。




相关文章

相关软件




月光软件程序下载编程文档电脑教程网站设计网址导航网络文学游戏天地幽默笑话生活休闲写作范文安妮宝贝
电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

月光软件站·版权所有