为什么不能用TTable建立.dbf文件?哪位富翁帮忙看一下。在线等待!(100分)

  • 主题发起人 主题发起人 千层雪
  • 开始时间 开始时间

千层雪

Unregistered / Unconfirmed
GUEST, unregistred user!
源码如下:(其实是copy自delphi的在线帮助,稍改了一下,用来建立.dbf文件)
但运行时报错:Invalid record structure.Table does not exits.
但用来建立.db文件却没有问题。
why?


with Table1 do begin
Active := False;
DatabaseName := 'DBDEMOS';
TableType := ttFoxPro;
TableName := 'CustInfo';

{ Don't overwrite an existing table }

if not Table1.Exists then begin
{ The Table component must not be active }
{ First, describe the type of table and give }
{ it a name }
{ 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;
end;
 
没有富翁碰到过这种问题吗?
那你们怎样建立、保存临时表(dbf格式)的?
 
我很久以前试过可以的。你先试建一个只有一个字段(没有索引或其它东西)的DBF,一步步往下试。
 
用adoquery的connectstring:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=admin;Data Source=D:/a/a.mdb;Persist Security Info=True'
其中data source为数据库全目录和文件名Provider为数据库格式。
具体connectstring你在窗口添加一个控件adoquery,然后选择connectstring属性,向导。然后把串拷贝下来就行了。
 
两个错误:
1。Required:=true,foxpro可能不支持这种,把这行注释掉
2。索引,options:=...也注释掉。没种数据表支持的索引类型不一样,你自己看一下帮助
去掉这几处错误,就可以了
 
多人接受答案了。
 

Similar threads

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