| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 709 人关注过本帖
标题:根据手工建立的数据库自动生成建立数据库的代码
只看楼主 加入收藏
月沐庭轩
Rank: 9Rank: 9Rank: 9
来 自:京城
等 级:贵宾
威 望:17
帖 子:393
专家分:1106
注 册:2011-7-24
结帖率:100%
收藏
 问题点数:0 回复次数:3 
根据手工建立的数据库自动生成建立数据库的代码
我们在起初设计软件时,往往用生成器或菜单方式建立数据库,可是最后在完成软件的时候,又往往不把这些数据库,以及数据库里的表打包给用户使用,而是用编程的方式生成这些数据库以及表。下面这个,就是我在实践中用已有的数据库来自动生成建立数据库的代码的小程序。
参数有两个,1、用生成器或菜单方式建立数据库名:数据库名
2、建立数据库的代码文件名:prg文件名
程序代码:
FUNCTION dbc2creat("数据库名","prg文件名")
CLOSE DATABASES
OPEN DATABASE 数据库名 EXCLUSIVE
DIMENSION gatables(1)
createc="CREATE DATABASE "+数据库名+CHR(13)
gatables=''
m=ADBOBJECTS(gatables, "TABLE")
IF NOT EMPTY(m)
    FOR i=1 TO m
        USE gatables(i) EXCLUSIVE
        SELECT gatables(i)
        ziduan=AFIELDS(arrayname)
        createc=createc+"Create table "+gatables(i)+" ("
        FOR i2=1 TO ziduan
            createc=createc+arrayname(i2,1)+SPACE(1)+arrayname(i2,2)+SPACE(1)
            IF AT(arrayname(i2,2),[CNFQV])>0
                createc=createc+"("+ALLTRIM(STR(arrayname(i2,3)))+SPACE(1)
                IF EMPTY(arrayname(i2,4))=.F.
                    createc=createc+ALLTRIM(STR(arrayname(i2,3)))
                ENDIF
                createc=createc+")"
            ENDIF
            IF NOT EMPTY(arrayname(i2,9))
                createc=createc+" default "+arrayname(i2,9)
            ENDIF
            createc=createc+","
        ENDFOR
        createc=LEFT(createc,LEN(createc)-1)+")"+CHR(13)
        USE
    ENDFOR
ENDIF
=STRTOFILE(createc,"prg文件名.prg")
CLOSE DATABASES
ENDFUNC

此小程序,只能自动生成建立表的CREATE TABLE  TableName1 ( FieldName1 FieldType [( nFieldWidth [, nPrecision] )] [DEFAULT eExpression1]段的语句,不过对于我来说好像够了。其实这段小程序还可以再复杂点的。
搜索更多相关主题的帖子: 建立数据库 color 
2012-11-17 22:47
晴非得雨
Rank: 2
等 级:论坛游民
帖 子:14
专家分:45
注 册:2012-10-9
收藏
得分:0 
先收下,学习消化
2012-11-17 23:49
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
怎么 用来个示例
2012-11-18 09:07
月沐庭轩
Rank: 9Rank: 9Rank: 9
来 自:京城
等 级:贵宾
威 望:17
帖 子:393
专家分:1106
注 册:2011-7-24
收藏
得分:0 
dbc2create.rar (5.56 KB)

把这个数据库下载,然后设置默认目录后,用dbc2creat("chaoshi","shuju")后,可以生成如下代码:

程序代码:
CREATE DATABASE chaoshi
Create table XITONG (ISGUANJI L ,ISCHONGQI L ,ISCHENGXU L ,CHENGXU M ,ISSHARUAN L ,SHARUAN M ,HUA I ,DAIMA I ,ISGOU L ,BEIYONG1 M ,BEIYONG2 M ,BEIYONG3 W ,BEIYONG4 M ,BEIYONG5 M ,BEIYONG6 M ,BEIYONG7 M )
Create table YOUJIAN (XUHAO I ,ISZIDONG L ,ISSAVEMIMA L ,FASONG C (40 ),MIMA C (30 ),ZHUTI M ,DUANXIN M ,FUJIAN M )
Create table NRYOUJIAN (XUHAO I ,SHIJAN T ,YAOKONG C (40 ),JIESHOU C (40 ),FASONG C (40 ),FUJIAN C (40 ))
Create table FUJIAN (XUHAO C (1 ),WENJIAN C (254 ))
Create table QIRUAN (XUHAO C (1 ),WENJIAN C (254 ))
Create table SHARUAN (XUHAO C (1 ),WENJIAN C (254 ))
Create table ZHILING (UID C (254 ))


[ 本帖最后由 月沐庭轩 于 2012-11-18 10:46 编辑 ]

坚持学习vfp,QQ:306805680
2012-11-18 10:13
快速回复:根据手工建立的数据库自动生成建立数据库的代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024110 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved