如何用程序动态地在sql server中建立数据库(100分)

M

mnmn

Unregistered / Unconfirmed
GUEST, unregistred user!
我需要动态地在sql server 2000中建立数据库,建库的同时建立一系列的表。
这个在程序中如何实现?(我想用c++ builder来做)
 
create table
 
建库用create database
procedure TForm1.btnCreateClick(Sender: TObject);
begin
ADOConnection1.Execute('CREATE DATABASE Sales'#13#10 +
'ON PRIMARY'#13#10 +
'( NAME = SPri1_dat,'#13#10 +
' FILENAME = ''F:/Test.mdf'','#13#10 +
' SIZE = 10,'#13#10 +
' MAXSIZE = 50,'#13#10 +
' FILEGROWTH = 15% )');
end;

procedure TForm1.btnDropClick(Sender: TObject);
begin
ADOConnection1.Execute('DROP DATABASE Sales');
end;
建表用create table
with query1 do
begin
sql.clear;
sql.add('create table tablename (aaa int,bbb int)');
ExecSQL;
end;
 
将SQL 监视器打开,手工建一次.记下执行的SQL语句,复制到程序里.
所有SQL管理器能完成的操作都可以用这个办法来用程序实现.
 
艰苦就是用mlzhou的方法
不过要注意使用的数据库的切换
创建和删除数据库要连接到master
创建表时,要将连接连到岗创建的数据库
 
建立一存储过程,传给存储过程数据库名变量既表名变量以及字段名变量及其类型名成。
生成动态sql语句,执行之
 
用SQL语句就行了.楼上说的.
 
一般情况,设计数据库都是采用辅助工具,如erwin,powerdesign等等来产生一个
.sql文件,建立数据库是执行该sql文件。
delphi-sql server 程序中建立数据库,也如此
执行 winexec("isqlw +参数 +sql文件名")即可
如何使用参见 isqlw/? (可在dos提示服下)
若异步执行:用winexec
同步执行:用CreateProcess

 
顶部