动态产生table的方法(100分)

  • 主题发起人 主题发起人 gdhw
  • 开始时间 开始时间
G

gdhw

Unregistered / Unconfirmed
GUEST, unregistred user!
我建好一个*。dbf数据库文件,有一个函数要调用这个数据库文件,我想用动态产生table的
方法去调用它,怎样实现?
 
tblComm := TTable.Create(self);
tblComm.DatabaseName := 'MYDataBase';
Database.Connected := true;
tblComm.TableName := 'SYSTEM';
tblComm.Open;

 
var tb :ttable;
begin
tb:=ttable.create(self);
tb.tablename:='d:/a.dbf";
tb.open;
end;
 
如果直接连接文件的话,楼上的方法不错!
 
to 天真
你的方法我早就试过,不行。
不知怎么回事,有时程序这里 tb:=ttable.create(self)不行,但在程序别的地方又可以
 
var tb :ttable;
begin
tb:=ttable.create(self);
tb.parent:self;
tb.tablename:='d:/a.dbf";
tb.open;
end;
 
可以用OpenDialog来作为数据库文件的提取,然后再打开啊
 
你把代码贴出来瞧瞧!
 
var table:ttable;
...
filename:=seis_path; //tai.dbf放在主程序所在目录中。
appendstr(filename,'tai.dbf');

if not(fileexists(filename)) then
begin
application.messagebox('tai.dbf文件不存在!','消息框',MB_ok+mb_iconexclamation);
halt(1);
end;

//创建一个数据库
table1:=ttable.create(self);//此处报错,undeclared indentifier. 'self'
table1.tablename:=filename;
Table1.open;

单独将你的程序放在一个新工程中可以,在我的程序别处table1:=ttable.create(self);
也没有错误,但就是在这里有错,到底怎么回事?

Table1.open;
 
看看你定義的:
//var table:ttable;注你下面用的都是table1,改掉
應為:
var table1:ttable;
 
to zxb200
我写错了,实际是
var table1:ttable;

这样的问题我是不会犯的,你说应该可能会是其它原因呢?出了这样的错我也是头一次,
确实不知到怎么回事
 
后退
顶部