我公司买了一个考勤机,其考勤软件的数据库是SQL的.第一次使用时,提示创建数据库并有界面出现,按创建数据库按键后,完整的数据库(包括表,字段等)就被创建出来了.在VB中如何做到这点,望高人提供一个范例,谢谢!高分酬谢!(分多少不是主要的,主要是表达我的一份诚意)

解决方案 »

  1.   

    方法1:事先备份一个bak文件,在软件第一次运行时用restore语句恢复
    方法2:在软件第一次运行时执行SQL的建库建表语句
      

  2.   

    create database  建立数据库create table  建立表 发一段建表 和修改表结构 的代码给你看看Private Sub Form_Load()
    RefTREE
    Dim r As New ADODB.Recordset
    Dim SQL As String
    '检查支出会计科目是否成功的建立
    On Error GoTo Err1
    r.Open "select ZCKJ from s_tab_bmdw where 1=2", cnr.CloseOn Error GoTo Err2
    r.Open "select flkm from s_tab_bmdw where 1=2", cnr.Close
    On Error GoTo Err3
    r.Open "select Nfz from s_tab_bmdw where 1=2", cnr.Close
    On Error GoTo Err4
    r.Open "select JJS from s_tab_bmdw where 1=2", cnr.CloseOn Error GoTo Err5
    r.Open "select yssy from s_tab_bmdw where 1=2", cnr.CloseMe.Labdqzt = "当前使用帐套:" & ZT
    Exit Sub
    Err1:
    SQL = ""
        SQL = "alter table s_tab_bmdw add ZCKJ char(20)"
        cn.Execute SQL
        SQL = "update s_tab_bmdw set ZCKJ=''"
        cn.Execute SQL
    Resume
    Exit Sub
    Err2:
    SQL = ""
        SQL = "alter table s_tab_bmdw add flkm char(20),flbl float,fzkm char(20),fzbl float"
        cn.Execute SQL
        SQL = "update s_tab_bmdw set flkm='43451D',FLBL=0.15,fzkm='43451C',fzbl=0.15"
        cn.Execute SQL
    Resume
    Exit Sub
    Err3:
    SQL = ""
        SQL = "alter table s_tab_bmdw add nfz money"
        cn.Execute SQL
        Resume
        Exit Sub
    Exit Sub
    Err4:
    SQL = ""
        SQL = "alter table s_tab_bmdw add JJS money"
        cn.Execute SQL
        Resume
        Exit Sub
    Exit Sub
    Err5:
    SQL = ""
        SQL = "alter table s_tab_bmdw add yssy money"
        cn.Execute SQL
        Resume
        Exit Sub
    End Sub
      

  3.   

            建表的代码         SQL = "CREATE TABLE [dbo].[s_tab_ksjjbl] ("
            SQL = SQL & "[idd] [numeric](18, 0) IDENTITY (1, 1) NOT NULL ,"
            SQL = SQL & "[zt] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,"
            SQL = SQL & "[bmbh] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,"
            SQL = SQL & "[bmmc] [char] (50) COLLATE Chinese_PRC_CI_AS NULL ,"
            SQL = SQL & "[bl] [money] NULL"
            SQL = SQL & ") ON [PRIMARY]"
            cn.Execute SQL
      

  4.   

    关于CREATE DATABASE 的代码 我现在暂时没有 抄一段书的你自己看吧 
    其实也就是一个SQL语句的不同而已
    CREATE DATABASE
    Name
    CREATE DATABASE — 创建新数据库 
    CREATE DATABASE name
        [ WITH [ LOCATION = 'dbpath' ]
               [ TEMPLATE = template ]
               [ ENCODING = encoding ] ]
      输入 
    name
    要创建的数据库名. dbpath
    在文件系统里存储新数据库的可选位置;用字串文本声明. 或者用 DEFAULT 表示使用缺省位置. template
    从哪个模板创建新数据库,这是模板名.或者用 DEFAULT 使用缺省模板 (template1). encoding
    创建新数据库用的多字节编码方法.声明一个字串文本名字 (比如,'SQL_ASCII'), 或者一个整数编号,或者是 DEFAULT 表示使用缺省编码. 
    输出 
    CREATE DATABASE
    命令成功执行的返回信息. ERROR: user 'username' is not allowed to create/drop databases
    你必须有特殊的 CREATEDB 权限来创建数据库。参阅 See CREATE USER。 ERROR: createdb: database "name" already exists
    如果声明的数据库 name 已经存在返回的信息. ERROR: database path may not contain single quotes
    数据库路径名 dbpath 不能包含单引号。这样要求是为了创建数据库目录的 shell 命令能够正确执行。 ERROR: CREATE DATABASE: may not be called in a transaction block
    如果你有一个明确的事务块正在处理,你不能调用 CREATE DATABASE。你必须先结束事务。 ERROR: Unable to create database directory 'path'., ERROR: Could not initialize database directory.
    这种情况最有可能是因为对数据目录权限不够, 磁盘已满或其他文件系统问题。数据库服务器运行的机器上的用户必 须能访问该路径。 
    描述 
    CREATE DATABASE 创建一个新的 Postgres 数据库.创建者成为新数据库的管理员. 可以声明一个可选的数据库位置,例如,在另一块硬盘上存放数据库。 该路径必须是事先用 initlocation 命令准备好了的. 如果路径名不包含斜杠,那么它被解释成一个环境变量, 该变量必须为服务进程所知。这样数据库管理员 可以对能够在那里创建数据库进行控制。(例如,一个用户化的选择是 'PGDATA2'。)如果服务器带着 ALLOW_ABSOLUTE_DBPATHS (缺省时没有)选项编译, 那么也允许使用以斜杠开头为标识的绝对路径(例如, ' '/usr/local/pgsql/data')。 缺省时,新数据库将通过克隆标准系统数据库 template1 来创建.不同的模板可以用 TEMPLATE = name 来写.尤其是,如果你用 TEMPLATE = template0, 你可以创建一个很纯净的数据库,只包括你的版本的 Postgres 预定义的 标准对象.这个方法可以避免把任何本地安装的对象 (它们已经加入到 template1 里去了.) 拷贝到新数据库. 可选的编码参数允许选择数据库编码, 如果你的服务器是带着多字节编码支持编译的话. 如果没有声明,缺省是所选用的模板数据库用的编码. 可选参数可以以任意顺序写,而不仅是上面显示的顺序. 注意 
    CREATE DATABASE 是 Postgres 语言的扩展. 使用 DROP DATABASE 删除一个数据库. 
      

  5.   

    SQL数据库脚本我有,就不知道怎通过VB把这些建库语句传给SQL服务器.看了上面的我好象明白了一些: