能否动态的创建一个table,并使dbgrid显示出表的内容?(100分)

  • 主题发起人 主题发起人 cobele
  • 开始时间 开始时间
C

cobele

Unregistered / Unconfirmed
GUEST, unregistred user!
能否动态的创建一个table,并使dbgrid显示出表的内容?
谢谢
比如:(有什么错吗?)
var table:Ttable;
datasource1.DataSet:=table;
dbgrid1.DataSource:=datasource1;
table:=TTable.Create(self);
table.TableType:=ttparadox;
table.DatabaseName:='f:/jwgl/';
table.TableName:='qbbj.db';
table.TableType:=ttparadox;
table.Open;

 
完全可行,但你要把table:=Ttable.Create(self);提前,不然datasource1.DataSet:=table;
就会无效。
 
同意rabbitgg,将table:=Ttable.Create(self);提前到var table:TTable;的后面
 
不可已,table:=Ttable.Create(self);只是在内存中创建了一个对象
数据库的表文件并不存在
你需要先创建这个表文件

with table do
begin
active:=false;
databasename:=dbname;
tablename:=user;//表名
tabletype:=ttDefault;
with fileddefs do //定义字段
begin
clear;
add('userid',ftString,5,true);
add('username',ftString,10,false);
end;
indexdefs.clear;//定义索引
indexdefs.add('idx_user','userid',[ixPrimary,ixUnique]);
try
createtable;
except
showmessage('fail');
end;
end;
 
的确,如果想将动态创建的表保存起来,需要先创建表文件,但如果只需要在程序中
使用临时表,我认为并不需要先创建表文件。
 
没有表 你给我来个 table.open 是一是
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
767
import
I
后退
顶部