我想用DELHPI建立SQL数据库,SQL语句来源于SQL脚本文件,如A.SQL,怎样写代码,谢了各位大虾。

解决方案 »

  1.   

    --建立一个叫做 CSDNDB的数据库
    IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'CSDNDB')
    DROP DATABASE [CSDNDB]
    GOCREATE DATABASE [CSDNDB]
     COLLATE SQL_Latin1_General_CP1_CI_AS
    GO--建立几个表
    CREATE TABLE [dbo].[AnonymousUsers] (
    [UserId] [char] (36) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
    [LastLogin] [datetime] NOT NULL 
    ) ON [PRIMARY]
    GOCREATE TABLE [dbo].[Emails] (
    [EmailID] [int] IDENTITY (1, 1) NOT NULL ,
    [Subject] [nvarchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
    [Importance] [int] NOT NULL ,
    [FromAddress] [nvarchar] (75) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
    [Description] [nvarchar] (200) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
    [Message] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL 
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    GOCREATE TABLE [dbo].[ForumGroups] (
    [ForumGroupId] [int] IDENTITY (1, 1) NOT NULL ,
    [Name] [nvarchar] (256) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
    [SortOrder] [int] NOT NULL 
    ) ON [PRIMARY]
    GO
      

  2.   

    DELHPI建立SQL数据库
    你直接再服务器上执行脚步不就完了为什么非要用delphi写程序?
    难道你天天建立数据库?
      

  3.   

    我想不是这样,建库SQL语句是已经写好并存于A.SQL文件,是用什么方法在DELPHI中打开A.SQL
      

  4.   

    const
      SConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;'
        + 'Jet OLEDB:Database Password=%s;';function GetTempPathFileName(): string;
    var
      SPath, SFile: array[0..254] of char;
    begin
      GetTempPath(254, SPath);
      GetTempFileName(SPath, '~SM', 0, SFile);
      result := SFile;
      DeleteFile(result);
    end;//这里是关键
    function CreateAccessFile(FileName: string; PassWord: string = ''): boolean;
    var
      STempFileName: string;
      vCatalog: OleVariant;
    begin
      STempFileName := GetTempPathFileName;
      try
        vCatalog := CreateOleObject('ADOX.Catalog');
        vCatalog.Create(format(SConnectionString, [STempFileName, PassWord]));
        result := CopyFile(PChar(STempFileName), PChar(FileName), True);
        DeleteFile(STempFileName);
      except
        result := false;
      end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      CreateAccessFile('C:\aa.mdb');
    end;