首先判断库test是否存在,如果不存在则建立此库,然后判断该库下是否有表math,如果没有则建立此表,请问这应该如何去操作。

解决方案 »

  1.   

    建立table.if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[USER_INFO]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [dbo].[USER_INFO]
    GOCREATE TABLE [dbo].[USER_INFO] (
    [U_ID] [numeric](18, 0) IDENTITY (1, 1) NOT NULL ,
    [U_NAME] [char] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [U_SEX] [char] (4) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [U_BIRTHDAY] [datetime] NOT NULL ,
    [U_NO] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [U_PWD] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,
    [U_TEL] [char] (15) COLLATE Chinese_PRC_CI_AS NULL ,
    [IF_SYS] [bit] NULL ,
    [IF_PASS] [bit] NULL 
    ) ON [PRIMARY]
    GO建立database  ASQL:='select * from master.dbo.sysdatabases where name='+QuotedStr(ADatabase);
      ADOQuery1.Active:=False;
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add(ASQL);
      ADOQuery1.Open;
      if ADOQuery1.RecordCount=1 then
      Begin
        ASQL:='create database '+ADatabase;
        ADOQuery1.Active:=False;
        ADOQuery1.SQL.Clear;
        ADOQuery1.SQL.Add(ASQL);
        ADOQuery1.ExecSQL;
      End
      

  2.   

    简便的办法是:
    首先在SqlServer中生成创建Test表的脚本(系统自动判断该表是否存在),
    然后在Delphi中调用该脚本即可。
      

  3.   

    对,建模工具一般会生成表、视图的脚本,如果纯手工来管理的话有点怕怕啦,象PowerDesign,SQL数据库的初始化一般都是一样的,你作过一次以后就可以直接用了。
      

  4.   

    创建表也是有SQL语句的,你依次执行相应的SQL语句就行了,
      

  5.   

    CREATE DATABASE SalesON ( NAME = Sales_dat,  FILENAME = 'c:\mssql7\data\saledat.mdf',  SIZE = 10,  MAXSIZE = 50,  FILEGROWTH = 5 )LOG ON( NAME = 'Sales_log',  FILENAME = 'c:\mssql7\data\salelog.ldf',  SIZE = 5MB,  MAXSIZE = 25MB,  FILEGROWTH = 5MB )CREATE TABLE publishers
    (
    pub_id  char(4) NOT NULL 
    CONSTRAINT UPKCL_pubind PRIMARY KEY CLUSTERED
    CHECK (pub_id IN ('1389', '0736', '0877', '1622', '1756')
    OR pub_id LIKE '99[0-9][0-9]'),
    pub_name varchar(40)     NULL,
    city varchar(20)     NULL,
    state char(2) NULL,
    country varchar(30)     NULL
    DEFAULT('USA')
    )
      

  6.   

    实际上,在SQL server2000查询分析器中能够执行的语句,都可以在类似
    ADOQuery,Query中执行!
    例如:
    with adoquery do
    begin
      close;
      sql.clear;
      sql.text:='此处放入楼上的建库代码';
      ExecSQL;
    end;
      

  7.   

    1、判断库是否存在,不存在的话可能做下一步;
    2、你应该先在程序中执行一段ODBC配置程序,配置成master 库后,用它来联接数据库;
     如: SQLConfigDataSource(0, ODBC_ADD_SYS_DSN,'SQL Server','DSN=test'+ chr(0) +
                          'Server=(local)'+ chr(0) +'Database=master'+ chr(0) +
                          'Description=test SQLServer ODBC Source'+chr(0));
    3、用楼上的代码建一个初始库;
     如:CREATE DATABASE test......
    4、配置ODBC 至test
     如:  SQLConfigDataSource(0, ODBC_ADD_SYS_DSN,'SQL Server','DSN=test'+ chr(0) +
                          'Server=(local)'+ chr(0) +'Database=test'+ chr(0) +
                          'Description=test SQLServer ODBC Source'+chr(0));5、在程序中运行数据库脚本,以便生成实用库
     如var
        FilePath:string;//文件路径
        siStartupInfo:STARTUPINFO;
        saProcess,saThread:SECURITY_ATTRIBUTES; 
        fSuccess:boolean;           
        piProcInfoGPS:PROCESS_INFORMATION;       
    begin 
     FilePath:=extractfilepath(application.ExeName)+'test.sql';
        filepath:='osql /U '+SQLName+' /P '+SQLpassword+' /d '+' test /i '+Filepath;
        winexec(pchar(FilePath),SW_HIDE);
        ZeroMemory(@siStartupInfo,sizeof(siStartupInfo));
        siStartupInfo.cb:=sizeof(siStartupInfo);
        siStartupInfo.dwFlags:=STARTF_USESHOWWINDOW;
        siStartupInfo.wShowWindow:=SW_HIDE;
        saProcess.nLength:=sizeof(saProcess);
        saProcess.lpSecurityDescriptor:=PChar(nil);
        saProcess.bInheritHandle:=true;
        saThread.nLength:=sizeof(saThread);
        saThread.lpSecurityDescriptor:=PChar(nil);
        saThread.bInheritHandle:=true;
        fSuccess:=CreateProcess(PChar(nil),  //指向一个以空结尾的串,他指定了要执行的模块
                                pchar(filepath), //指向一个以空结尾的串,该串定义了要执行的命令行
                                @saProcess,
                                @saThread,
                                false,
                                CREATE_DEFAULT_ERROR_MODE,
                                Pchar(nil),
                                Pchar(nil),
                                siStartupInfo,
                                piProcInfoGPS);
    end;
      

  8.   

    直接query執行sql語句好了,sql幫助裡面有建表和建庫的
      

  9.   

    建库
    cmd:='create database 库名';
     adoQuery2.SQL.Clear;
     adoQuery2.SQL.Add(Cmd);
     adoQuery2.execsql;建表:
    cmd:='create table 表名(a int,b int)';
     adoQuery2.SQL.Clear;
     adoQuery2.SQL.Add(Cmd);
     adoQuery2.execsql;
      

  10.   

    或:
    企业管理器-->右键你的数据库-->所有任务-->生成SQL脚本-->选项-->所有对象-->OKs:string;
    sqlfile:textfile;AssignFile(sqlfile, 'update.sql');
    Reset(sqlfile);
    while not eof(sqlfile) do
    begin
      Readln(sqlfile, s);
      sqltext:=s;
      while (not eof(sqlfile)) and (uppercase(trim(s))<>'GO') do
      begin
        Readln(sqlfile, s);
        if (uppercase(trim(s))<>'GO') then
          sqltext:=sqltext+' '+s;
      end;
      adoquery1.Close;
      adoquery1.SQL.Clear;
      adoquery1.SQL.Add(sqltext);
      adoquery1.ExecSQL;
    end;
    CloseFile(sqlfile);application.MessageBox('数据库升级完成!','提示',MB_OK+MB_ICONINFORMATION);//注:上述代码要求update.sql文件中语句无注释
      

  11.   

    look!http://expert.csdn.net/Expert/topic/2126/2126448.xml?temp=.9495508
      

  12.   

    方法都对!可要注意访问数据库的用户的权限!if 已有数据库 then drop else
      

  13.   

    http://218.56.11.178:8020/web/technology.aspxSQL SERVER 2000 安装全攻略1 
     SQL SERVER 2000 安装全攻略2(卸载重装要点) 
     SQL SERVER 2000 创建数据库和数据表 
     SQL SERVER 2000 与SQL Explorer的连接 
     数据库事务处理全攻略 
     数据库锁的概述 
     dbexpress连接SQL SERVER数据库的方法 
     dbexpress+SQL server制作主从关系