如何在delphi中实现动态的创建sql server的数据库 别名!!、表、表的结构???

okfly 2002-12-18 11:16:07
如何在delphi中实现动态的创建sql server的数据库 别名!!、表、表的结构???
我想在sql server中建立一个数据库为 web ,表为user ,结构为
user:
name, age ,sex

那位大虾能给出源代码???感谢!!!
...全文
256 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
budi 2002-12-18
  • 打赏
  • 举报
回复
GZ:问题的关键是如何配置BDE并连接到SQL类数据库
tommy_linux 2002-12-18
  • 打赏
  • 举报
回复

学习~~~~~

dschebei 2002-12-18
  • 打赏
  • 举报
回复
var
ap:TStringList; {字符串列表变量}
answer:Integer;
begin
ap:=TStringlist.Create;
Session.GetAliasNames(ap); {取得别名列表}
if (ap.IndexOf(’Cntssamp’)=-1) then {判断别名是否存在}
begin
answer:=Application.MessageBox(’别名Cntssamp不存在,现在创建吗?’,’BDE信息窗口’,mb_OKCancel);
{增加一个名为Cngzsamp的数据库别名}
if answer=IDCANCEL then
begin
ap.Free;
Exit;
end;
Session.AddStandardAlias(’Cntssamp’,’c:delphp11’,’Paradox’);
Session.SaveConfigFile; {BDE配置文件存盘}
end ;

ap.Clear; {取得别名Cngzsamp中的所有表格名称列表}
Session.GetTableNames(’Cntssamp’,’’,False,False,ap);
if (ap.IndexOf(’TSK’)=-1) then {判断表格是否存在}
begin
answer:=Application.MessageBox( ’别名Cntssamp中不存在表格TSK,现在创建吗?’,’表格信息窗口’,mb_OKCancel);
if answer=IDCANCEL then
begin
ap.Free;
Exit;
end;

with table1 do
begin
Active:=false;
DatabaseName:=’Cntssamp’; {数据库别名}
TableName:=’TSK’; {表格名}
TableType:=ttParadox; {数据库类型}
with FieldDefs do
begin {增加字段}
Clear;
Add(’SH’,ftString,30,False); {书号 String(30)}
Add(’SM’,ftString,30,False); {书名 String(30)}
Add(’CBS’,ftString,20,False); {出版社 String(20)}
Add(’CBRQ’,ftDate,0,False); {出版日期 Date}
Add(’YS’,ftInteger,0,False); {页数 Integer}
end;

with IndexDefs do
begin {增加索引}
Clear; {按书号字段建立主索引}
Add(’SHSY’,’SH’,[ixPrimary,ixUnique]);
end;

CreateTable; {创建表格}
end;
end ;
ap.free; {释放变量ap}
end;
bigysw 2002-12-18
  • 打赏
  • 举报
回复
用SQL语句实现,
——————————————————————————————————————————
创建databse的文法:

CREATE DATABASE DB
ON
( NAME = Empl_dat,
FILENAME = 'f:',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = 'Sales_log',
FILENAME = 'g:',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB )
GO

—————————————————————————————————————————
创建表文法:
CREATE TABLE jobs
(
job_id smallint
IDENTITY(1,1)
PRIMARY KEY CLUSTERED,
job_desc varchar(50) NOT NULL
DEFAULT 'New Position - title not formalized yet',
min_lvl tinyint NOT NULL
CHECK (min_lvl >= 10),
max_lvl tinyint NOT NULL
CHECK (max_lvl <= 250)
)

——————————————————————————————————————————
Billy_Chen28 2002-12-18
  • 打赏
  • 举报
回复
创建SQLServer数据库:
procedure TInitDbDataMoudule.CreateDb(dbName : String;
dbSize : String);
var
sqlPath : String;
dataFile : String;
logFile : String;
createDbSql : String;
begin
sqlPath := GetSQLServerPath;

dataFile := sqlPath + '\data\' + dbName + '_data.mdf';
logFile := sqlPath + '\data\' + dbName + '_log.ldf';

createDbSql := 'Create Database ' + dbName +
' on primary(Name = ' + dbName + '_dat' +
', FileName = "' + dataFile +
'" , Size = ' + dbSize +
', FileGrowth = 1) ' +
'log on (Name = ' + dbName + '_log' +
', FileName = "' + logFile +
'", Size = ' + dbSize +
', FileGrowth = 1)';

if Not (FileExists(dataFile) or FileExists(logFile)) then
dbInitDb.Execute(createDbSql);
end;

end.
okfly 2002-12-18
  • 打赏
  • 举报
回复
我不想再sql server2000中去建立它!!!在delphi中用代码实现!!
okgxs 2002-12-18
  • 打赏
  • 举报
回复
先建数据库,在建表
okgxs 2002-12-18
  • 打赏
  • 举报
回复
你在访一个query2上去把他的连接路径设好,数据库也连上(前提是你必须先有了数据库)才能连上,然后
执行
IF not EXISTS (SELECT *
FROM sysdatabases
WHERE name = '数据库名称')
CREATE database 数据库名称;

adoquery1.execsql;
////////////////////////////////////////////////////
CREATE TABLE 表名
(
字段ID int not null IDENTITY,
字段1 varchar(16) primary key,
字段2 varchar(100) not null,
字段n varchar(100) not null )
adoquery2.execsql;
///////////////////////////////////////////
这不就ok了吗!!!!!!

快给分吧!!!!!!!!!
okfly 2002-12-18
  • 打赏
  • 举报
回复
//用adoquery

IF not EXISTS (SELECT *
FROM sysdatabases
WHERE name = '数据库名称')
CREATE database 数据库名称;

如何创建下表时指定在那个数据库下?????????清那位大虾告知

CREATE TABLE 表名
(
字段ID int not null IDENTITY,
字段1 varchar(16) primary key,
字段2 varchar(100) not null,
字段n varchar(100) not null )

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧