procedure TForm2.CreateDatabase(DBName:String); Var SDBPath:String; begin If DbName<>' Then Begin With Adoquery1 do Begin close; sql.text :='Select Name from master..sysdatabases with (nolock) where Name='+''+DBName+''; Open; If not Adoquery1.eof Then Begin //获得数据库存放目录,不知道怎样获得默认数据库目录,只好那master的了 close; sql.text :='Select fileName from master..sysdatabases with (nolock) where Name='master' '; Open; SDBPath := IncludeTrailingBackslash(ExTractFilePath(FieldByname('filename').asstring)); //
// 创建数据库 Active := False; SQL.clear; SQL.add('Create Database '+DBName); SQL.add('ON PRIMARY'); SQL.add('(Name='+DBName+'_Data,'); SQL.add('FileName='+''+SDBPath+DBName+'_Data.mdf'+''+')'); SQL.add('Log On'); SQL.add('(Name='+DBName+'_Log,'); SQL.add('FileName='+''+SDBPath+DBName+'_Log.ldf'+''+')'); ExecSQL; // Showmessage('database Created!'); End Else Begin Showmessage('database exists!'); End; End; End; end;
procedure TForm1.Button1Click(Sender: TObject); Var SList:TStringList; I,J:integer; begin SList := TStringList.create; Try SList.LoadFromFile('c:\temp\SetupSQL.sql'); Query1.SQL.Clear; J:=0; For i := 0 to SList.Count-1 do Begin If Trim(SList[I])<>' Then Begin If Sametext(Trim(SList[I]),'go') Then Begin If Trim(Query1.SQL.text)<>' Then Begin Query1.ExecSQL; Query1.SQL.Clear; Inc(J); Label1.caption := Inttostr(J)+' Objectes Created!'; End; End Else Begin Query1.SQL.Add(SList[I]); End; End; Application.ProcessMessages; End; Finally SList.free; End;