server sql建立数据库语句
create database databasename
on
(name=databasename_dat,
 filename='f:\mssql7\data\databasenamedat.mdf',
 size=5,
 maxsize=20,
 filegrowth=1
)
好想存储过程不能用create database语句,create database语句好象也不能带参数。请问要把上面这几句用edit1.text的值改造,怎么做,请写的具体点,小弟愚钝。

解决方案 »

  1.   

    Server SQL??   SQL Server ??如果是SQL Server 那么:用
    Exec('Create Database'+ edit1.Text+ ' on ......')不好有急事,走先!  晚上再来
      

  2.   

    Exec('Create Database ['+ Trim(edit1.Text)+ '] on ......')
    这样也可以
      

  3.   

    procedure TMainFrm.peCreateSQLScript;
    var
      sTempStr,sTempStr2,sSavePath,sTempStr3,sTempStr4: string;
    begin
      sTempStr := fnGetMSSQLSERVERPath + '\Data\' + Edit3.Text + '_dat.mdf';
      sTempStr2 := fnGetMSSQLSERVERPath + '\Data\' + Edit3.Text + '_log.ldf';
      sSavePath := GetCurrentDir + '\DataSource\CreateDB.sql';
      sTempStr3 := Edit3.Text + '_dat';
      sTempStr4 := Edit3.Text + '_log';
      Memo1.Clear;
      with Memo1.Lines do
        begin
          Add('CREATE DATABASE '+Edit3.Text+' ');
          Add('ON');
          Add('( NAME = '+sTempStr3+',');
          Add('   FILENAME = '''+sTempStr+''',');
          Add('   SIZE = 2MB,');
          Add('   MAXSIZE = 500MB,');
          Add('   FILEGROWTH = 3MB )');
          Add('LOG ON');
          Add('( NAME = '+sTempStr4+',');
          Add('   FILENAME = '''+sTempStr2+''',');
          Add('   SIZE = 2MB,');
          Add('   MAXSIZE = 500MB,');
          Add('   FILEGROWTH = 3MB )');
          SaveToFile(sSavePath); {存为文件}
        end;
    end;然后用winexec执行该脚本文件就行了^_^
    注:fnGetMSSQLSERVERPath是取得MSSQL的安装目录函数