动态创建数据库请帮我看看我做的怎么不对!

sherperd 2002-04-23 04:38:57
数据库依存在,我想动态的创建一个sql2000数据表在这个数据库里面
编码:
procedure TForm1.Button1Click(Sender: TObject);
var
tb1:tadotable;
begin
tb1:=tadotable.create(self); // 如没有声明中的"tform1.",Delphi不认这个self

with tb1 do
begin
connection:=adoconnection1;//adoconnection1以正确连接
tablename:='my_tbl';
with fielddefs do
begin
clear;
add('No',ftInteger,0,false);
add('Name',ftString,0,false);
end;
with indexdefs do
begin
clear;
add('primary','no',[ixPrimary,ixUnique]);
end;
create(self); //是不是这里出问题我不知道怎么改
end;
end;
...全文
32 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mudeen 2002-04-24
  • 打赏
  • 举报
回复
您可以使用adoquery直接创建表.如楼上同志所说,adoquery1.sql.add('create table mytable(field1 char(5),field2 integer)
create index myindex on mytable (field1)'),然后adoquery1.execsql就ok了.
tazhch 2002-04-24
  • 打赏
  • 举报
回复
lion2199(狮子) 说对了
lion2199 2002-04-24
  • 打赏
  • 举报
回复
前面不用create 语句,将后面的create(self)替换成createtable()即可
dreamfan 2002-04-24
  • 打赏
  • 举报
回复
用adox创建更好,有的属性用ado不能改。。。
abbaa99 2002-04-24
  • 打赏
  • 举报
回复
sql.add('create index FieldName on tableXXX(FieldName1));
sherperd 2002-04-24
  • 打赏
  • 举报
回复
up
sherperd 2002-04-23
  • 打赏
  • 举报
回复
用sql 索引怎么创建 ?
sqlstr:='Create Table TableXXX ( FieldName1 varchar(20) ,FieldName2 varchar(20) NOT NULL )';
With adoQuery1 Do
Begin
Close;
SQl.Clear;
SQl.add(sqlstr);
sql.add('create index FieldName on ''tableXXX''(FieldName1)'); //词句化有句法错误请帮忙看看
ExecSQL;
End;
chechy 2002-04-23
  • 打赏
  • 举报
回复
Create是建构函数,我觉得用ADO创建表,应该用SQL语句
Create Table...
dododo 2002-04-23
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
qry1:tadoquery;
begin
qry1:=tadoquery.create(self);
qry1.close;
qry1.sql.text:='create table my_tbl('+
'No int PRIMARY KEY CLUSTERED, '+
'Name varchar(100))';
qry1.execsql;
end;

2,498

社区成员

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

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