在运行期如何创建与数据库的连接(100分)

  • 主题发起人 主题发起人 y313
  • 开始时间 开始时间
Y

y313

Unregistered / Unconfirmed
GUEST, unregistred user!
不用控件,而是用程序语句动态创建一个Ttable的实例,然后用语句给出他的
属性,如何做?
 
var
tb:ttable;
begin
tb:=ttable.create(self);
tb.databasename:='别名';
tb.tablename:='表名';
....;
tb.open;
....
tb.close;
tb.free;
end;
 
又晚了一步,唉,电话线不行啊
 
注意要uses db,dbtables
 
还可以用query1.sql.text:='create table tname .....';
query1.execsql;
就可以了.

 
cAKK 真快呀!
 
to cytown:
query1.sql.text:='create table tname .....';
query1.execsql;
这样得到的是一个真实的表,而不是TTable的实例。
:)
 
var
Table1:ttable;
begin
Table1:=TTable.Create(Self);
{ Don't overwrite an existing table }

if not Table1.Exists then begin
with Table1 do begin
{ The Table component must not be active }
Active := False;
{ First, describe the type of table and give }
{ it a name }
DatabaseName := '别名';
//TableType := ttParadox;
TableName := '表名';
{ Next, describe the fields in the table }
with FieldDefs do begin//建字段
Clear;
with AddFieldDef do begin

Name := 'Field1';
DataType := ftInteger;
Required := True;
end;
with AddFieldDef do begin
Name := 'Field2';
DataType := ftString;
Size := 30;
end;
end;
{ Next, describe any indexes }
with IndexDefs do begin //建索引
Clear;
{ The 1st index has no name because it is
{ a Paradox primary key }
with AddIndexDef do begin

Name := '';
Fields := 'Field1';
Options := [ixPrimary];
end;
with AddIndexDef do begin
Name := 'Fld2Indx';
Fields := 'Field2';
Options := [ixCaseInsensitive];
end;
end;
{ Call the CreateTable method to create the table }
CreateTable;//建表
end;
Table1.Open;
....//对Table1进行操作
Table1.Close;
end;

 
多人接受答案了。
 
后退
顶部