用ADOTable在ACCESS中增加字段(100分)

  • 主题发起人 主题发起人 肥涛
  • 开始时间 开始时间

肥涛

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个ACCESS库,叫DB1.MDB,中有一个表table1,我想增加一个字段name,文本型,长度为8。
用了以下代码:
procedure TForm1.Button1Click(Sender: TObject);
var
ff:TField;
begin
ADOTable1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/db1.mdb;
Persist Security Info=False';
ADOTable1.TableName:='table1';
ADOTable1.Active:=true;

ff:=Tfield.Create(self);
ff.FieldName:='name';
ff.SetFieldType(ftString);
ff.Size:=8;

ADOTable1.Fields.Add(ff);
ADOTable1.Active:=false;

ff.Destroy;
end;
编译可以通过,运行时显示size的值是非法的。
大家有什么其他办法?
 
ff:=Tfield.Create(ADOTable1);
不用以下三句,使用TField的属性设置好象是TString,具体忘了,查一查帮助
//ff.FieldName:='name';
//ff.SetFieldType(ftString);
//ff.Size:=8;

ADOTable1.Fields.Add(ff);
ADOTable1.TableName:='table1';
ADOTable1.Active:=true;
ADOTable1.Active:=false
 
to 肥涛:
Field.Size只能是TBlobField才能设置!
用delphi的数据库空间不能直接修改数据库表(加列),用sql吧!
Alter Table table1 add column [Name] TEXT(8)
 
sql简单,方便
SqlStr := 'Alter table1 Add name char(8)'
....
 
多人接受答案了。
 
后退
顶部