procedure CreateNewDB(dbname, filename, logfilename: string; query: TADOQuery);
begin
  query.Close;
  with query.sql do
  begin
    clear;
    add('create   database   ' + dbname);
    add('on ');
    add('primary(name=library_data, ');
    add('filename= "' + filename + '", ');
    add('size=10, ');
    add('maxsize=15, ');
    add('filegrowth=20%) ');
    add('log   on ');
    add('(name=library_log, ');
    add('filename= "' + logfilename + '", ');
    add('size=3, ');
    add('maxsize=5, ');
    add('filegrowth=1) ');
  end;
  try
    query.ExecSQL;
  except
    MessageDlg('数据库建立出错! ', mtInformation, [mbOk], 0);
    exit;
  end;
end;procedure TForm1.Button1Click(Sender: TObject);
var
  Connection1: TADOConnection;
  Query1: TADOQuery;
  Server: string;
  Username: string;
  Password: string;
const
  connectionstring =
    'Provider=SQLOLEDB.1;Password=%s;Persist Security Info=True;User ID=%s;Data Source=%s';
begin
  Server := '(local)'; // 服务器地址
  Username := 'sa'; // sqlserver用户名
  Password := '861861'; // sqlserver密码  Connection1 := TADOConnection.Create(nil); // 创建连接组件
  Query1 := TADOQuery.Create(nil); // 创建数据集组件
  try
    Connection1.LoginPrompt := false; // Connection不提示登录
    Connection1.connectionstring := format(connectionstring,
      [Password, Username, Server]); // 连接串定义,用于连接sqlserver
    Query1.Connection := Connection1; // 指定连接Connection1给数据集Query1
    CreateNewDB('xxx', 'd:\sqldata\xdat.mdf', 'd:\sqldata\xlog.ldf', Query1); // 调用函数,创建数据库
  finally
    Connection1.Free;
    Query1.Free;
  end;
end;