首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

新手,请问怎么在此代码下创建一个表

2013-01-04 
新手,请教如何在此代码上创建一个表?procedure CreateNewDB(dbname, filename, logfilename: string quer

新手,请教如何在此代码上创建一个表?
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;




[解决办法]

Connection1.connectionstring:='Provider=SQLOLEDB.1;Password=1234;Persist Security Info=True;User ID=sa;Initial Catalog=MyDB;Data Source=192.168.0.10';

adoquery1.close;
adoquery1.Connection := Connection1;
adoquery1.sql.text:='create table t (id int)'; //在MyDB上创建表t
adoquery1.execsql;

[解决办法]
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 CreateNewTable(sqlstr: string; query: TADOQuery);
begin
  query.Close;
  query.sql.clear;
  query.sql.add(sqlstr);
  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;
  sql: Tstringlist;
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); // 创建数据集组件
  sql := Tstringlist.Create;
  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);
    // 调用函数,创建数据库
    sql.add('CREATE TABLE ['+'xxx'+'].[dbo].[Customers] (');
    sql.add('[CustomerID] [nchar] (5) NOT NULL ,');
    sql.add('[CompanyName] [nvarchar] (40) NOT NULL ,');
    sql.add('[ContactName] [nvarchar] (30) NULL ,');
    sql.add('[ContactTitle] [nvarchar] (30) NULL ,');
    sql.add('[Address] [nvarchar] (60) NULL ,');
    sql.add('[City] [nvarchar] (15) NULL ,');
    sql.add('[Region] [nvarchar] (15) NULL ,');
    sql.add('[PostalCode] [nvarchar] (10) NULL ,');
    sql.add('[Country] [nvarchar] (15) NULL ,');


    sql.add('[Phone] [nvarchar] (24) NULL ,');
    sql.add('[Fax] [nvarchar] (24) NULL ');
    sql.add(') ON [PRIMARY]');
    CreateNewTable(sql.Text,Query1); // 调用函数,创建数据表
  finally
    Connection1.Free;
    Query1.Free;
    sql.Free;
  end;
end;

热点排行