高分请高手指点DELPHI编程实现在MSSQL数据库建立库及表信息
最近看到网上的一款程序如:MsSQL通用数据库创建程序(源码+Demo+Exe) 
================================================================================
说这是一个Microsoft SQL Server 2000/2005/2008的通用数据库创建程序,它可以让我们
制作的应用程序的分发和部置更显专业化。
功能:
 1、可自动创建任意SQL数据库;
 2、可由用户自定义数据库的存放路径;
 3、可由用户自定义数据库用户名及密码;
 4、可在建库时按需初始化数据;
 
使用方法:
 1、Create_db_Set.ini文件的配置,有详细注解,一看就应明白。  //本脚本配置文件名必须为:Create_db_Set.ini
  [CREATE_DB_SET]  //系统名称 注释内容必须放在单独的行中
  SYSNAME=网上考试系统  //新数据库默认名称,若有多个数据库名称,用“|“分隔
  DBNAMELIST=XX考试题库中心|XX考试评分库|XX考试考点库  //数据库文件默认存储路径
  DBSAVEDIR=D:\网上考试系统数据库\  //数据库默认角色名
  SANAME=jsjks_sa  //数据库创建脚本文件名称
  CREATEDBSCRIPT=create_db_template.sql  //要进行初始化的access数据库文件名称
  INITACCESSNAME=KsxtDb_Initial.mdb  //要进行初始化的表名称
  INITTABLENAME=操作员表|操作说明表|题型类别表|InKeyTable 2、从数据库中生成SQL脚本,脚本名为create_db_template.sql,当然你愿意的话也可以自已去写,不过我是不会自已再去写一遍的。
 把脚本中的要创建的数据库名替换为变量名:$DB_NAME$
      新数据库用户名替换为变量名:$SA_NAME$
       新数据库密码替换为变量名:$SA_PWD$ 3、从SQL数据库中导出要初始化的表至Access文件中,初始化mdb文件名为:KsxtDb_Initial.mdb(按实际取名)

解决方案 »

  1.   


    这是图片,请问一个问题
    1)下载的DEMO不能运行,提示错误如下:
       2011-04-21 13:52:07  正在连接数据库服务器....
       2011-04-21 13:52:07  数据库服务器连接成功!
       2011-04-21 13:52:10  正在初始化数据库创建脚本
       2011-04-21 13:52:10  ........完成!
       2011-04-21 13:52:10  CREATE DATABASE 语句失败。
           主文件必须至少是 3 MB 才能容纳 model 数据库的副本。
       2011-04-21 13:52:10  数据库创建失败!请重试!  
      

  2.   

    我现在的问题是:将那个建立数据库名及表信息的角本全传递给了变量xxx
    再用那些控件,才能实现这个 即能建立数据又能建立表信息》》》》》》》》》
      

  3.   

    无法就是执行一堆sql,创建数据库sql既可以干,
      

  4.   

    用控件也是借助控件来执行SQL语句
      

  5.   

    其实,我是将调用 SQL脚本的方式,改成这个SQL脚本写到变量,再执行的
      

  6.   

    把建表的sql弄到 控件里去再执行 没有什么新意 啊 
      

  7.   

    我的那个 SQL脚本的功能:先建立数据库再在库中建立表
            ADOQuery.close;
           ADOQuery.sql.clear;
           ADOQuery.sql.Text:=DB_SQL_str;
           ADOQuery.open;
           ADOQuery.execsql;
    这样执行,出错如下图:
      

  8.   

    DB_SQL_str   内的SQL代码:
    /****** Object: 建立数据库 Database [DemoTest]******/
    CREATE DATABASE [DemoTest] ON PRIMARY  
    ( NAME = N'DemoTest_Data', FILENAME = N'D:\MSSQLDB\DemoTest_Data.mdf' , SIZE = 5120KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)
     LOG ON  
    ( NAME = N'DemoTest_Log', FILENAME = N'D:\MSSQLDB\DemoTest_Log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 1024KB )
    GO
    ALTER DATABASE [DemoTest] SET COMPATIBILITY_LEVEL = 100
    GO
    IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
    begin
    EXEC [DemoTest].[dbo].[sp_fulltext_database] @action = 'enable'
    end
    GO
    ALTER DATABASE [DemoTest] SET ANSI_NULL_DEFAULT OFF  
    GO
    ALTER DATABASE [DemoTest] SET ANSI_NULLS OFF  
    GO
    ALTER DATABASE [DemoTest] SET ANSI_PADDING OFF  
    GO
    ALTER DATABASE [DemoTest] SET ANSI_WARNINGS OFF  
    GO
    ALTER DATABASE [DemoTest] SET ARITHABORT OFF  
    GO
    ALTER DATABASE [DemoTest] SET AUTO_CLOSE OFF  
    GO
    ALTER DATABASE [DemoTest] SET AUTO_CREATE_STATISTICS ON  
    GO
    ALTER DATABASE [DemoTest] SET AUTO_SHRINK OFF  
    GO
    ALTER DATABASE [DemoTest] SET AUTO_UPDATE_STATISTICS ON  
    GO
    ALTER DATABASE [DemoTest] SET CURSOR_CLOSE_ON_COMMIT OFF  
    GO
    ALTER DATABASE [DemoTest] SET CURSOR_DEFAULT GLOBAL  
    GO
    ALTER DATABASE [DemoTest] SET CONCAT_NULL_YIELDS_NULL OFF  
    GO
    ALTER DATABASE [DemoTest] SET NUMERIC_ROUNDABORT OFF  
    GO
    ALTER DATABASE [DemoTest] SET QUOTED_IDENTIFIER OFF  
    GO
    ALTER DATABASE [DemoTest] SET RECURSIVE_TRIGGERS OFF  
    GO
    ALTER DATABASE [DemoTest] SET DISABLE_BROKER  
    GO
    ALTER DATABASE [DemoTest] SET AUTO_UPDATE_STATISTICS_ASYNC OFF  
    GO
    ALTER DATABASE [DemoTest] SET DATE_CORRELATION_OPTIMIZATION OFF  
    GO
    ALTER DATABASE [DemoTest] SET TRUSTWORTHY OFF  
    GO
    ALTER DATABASE [DemoTest] SET ALLOW_SNAPSHOT_ISOLATION OFF  
    GO
    ALTER DATABASE [DemoTest] SET PARAMETERIZATION SIMPLE  
    GO
    ALTER DATABASE [DemoTest] SET READ_COMMITTED_SNAPSHOT OFF  
    GO
    ALTER DATABASE [DemoTest] SET HONOR_BROKER_PRIORITY OFF  
    GO
    ALTER DATABASE [DemoTest] SET READ_WRITE  
    GO
    ALTER DATABASE [DemoTest] SET RECOVERY FULL  
    GO
    ALTER DATABASE [DemoTest] SET MULTI_USER  
    GO
    ALTER DATABASE [DemoTest] SET PAGE_VERIFY CHECKSUM   
    GO
    ALTER DATABASE [DemoTest] SET DB_CHAINING OFF  
    GO
    /******建立表******/
    USE [DemoTest]
    GO
    /****** Object: Table [dbo].[Table_Textstudent]******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[Table_Textstudent](
    [Text_id] [smallint] IDENTITY(1,1) NOT NULL,
    [Text_name] [nvarchar](50) NULL,
    [Text_sex] [nvarchar](50) NULL,
    [Text_nl] [nvarchar](50) NULL,
    [Text_xh] [nvarchar](50) NULL
    ) ON [PRIMARY]
    GO
      

  9.   

    无非是下点SQL指令给数据库执行而巳喽
      

  10.   

    你能不能说点具体的呀》》》》》》》》》》》》》》
       with  ADOQuery  do
        begin
          Connection := ADOConSql2008;
          CommandTimeout := 300;
          close;
          sql.Clear;
          sql.text:=DB_SQL_str;
          try
            ExecSql;
            Close;
            showmessage('数据库创建成功!');
          except
            showmessage('数据库创建失败!');
           end;
         end;
    这是语句部分,为什么不对》》》》》》》》》》》》》》》》》》
      

  11.   

    想通过输入ip地址、用户、密码检测是否连接到mssql数据库。想采用三种方式创建数据库。
    1、sql文件。
    2、mdb文件附加。
    3、备份文件恢复