在Delphi中,如何用代码实现对Table的字段进行动态删除与添加?? 急!!!(200分)

  • 主题发起人 主题发起人 红雨
  • 开始时间 开始时间

红雨

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi中,如何用代码实现对Table的字段进行动态删除与添加??
 
可以动态传输SQL语句,'alter table add .....'.
 
我说一个思路:
采用如下三个函数分别实现字段的添加、删除、清空。
TTable.FieldDefs. AddFieldDef;
TTable.FieldDefs.Delete(int index);
TTable.FieldDefs.Clear;
 
用QUERY控件
SQL.add('alter table....')
 
删除表(清空临时表,做交换用)
With Table Do
Begin
While Not Eof Do
Delete;
End;
 
其实不需要添加和删除,你只把要的字段就Visible=true,如果不需要显示的字段就
visible=false就行了。
 
如果只是不想显示字段内容,可以把字段的Visible设置为False,如果想删除或添加
表中的字段那么建议使用SQL语句。
 
jam说的办法太慢了,我删350条记录用了3分钟(c266,64m)
有快一点的办法吗?
 
对于jam所说的,我看最好用 Delete from TableName
 
我的例子:
Query1.Close;
Query1.Databasename:='dbsys';
Query1.Sql.Clear;
Query1.Sql.Add('ALTER TABLE "Fcjmx.db" Drop '字段名'');
Query1.ExecSQL;
 
上面已经说得很清楚,利用sql语句处理函数ALTER即可
 
上面说得都有道理,补充一点:
文件型数据库用TTable.FieldDefs较好,
大型数据库用SQL语句较好
 
多人接受答案了。
 
后退
顶部