怎样在一个有数据的Table中增加字段?(100分)

  • 主题发起人 主题发起人 Vinson
  • 开始时间 开始时间
V

Vinson

Unregistered / Unconfirmed
GUEST, unregistred user!
Table中已经打开一个有数据的数据库,现在想在不破坏原有数据的基础上增加一个字段,请问应如何实现?
 
ALTER TABLE customer ADD COLUMN fax c(20) NULL
 
to jsxjd;
你这是什么语句?
说明一下,我的Table是指TTable控件,即数据库已经被TTable打开。
 
在表customer中加一个字符字段,长度为 20 ,字段名为 fax ,允许空值。
不过我这是比较普通的 SQL。
各种SQL支持的不一样。
 
但我的数据库已经被TTable控件打开了,用Table1.Database.Execute('ALTER TABLE '+A1Name+' ADD COLUMN Test_Method c(1) NULL');
不能增加字段。有办法在TTable中直接增加吗?
 
TABLE处于活动状态时是不允许你这么做的。
SQL语句分为两种,一种是DDL,好象还有一种是叫DCL吧。DCL是我们常用的select,insert,
update,delete等,而DDL指的是create,drop,truncate,alter等。
好象DDL的SQL语句基本上都需要execlusive的方式,因此你这样的做法是无法成功的。
另外,有些数据库不支持这样的语句。
 
我的数据库类型是Paradox7 即*.db文件,请问怎样实现动态增加字段?详细点,最好给点代码。
 
你可以在增加前先关闭呀,再用Query写SQL呀
真是的,这也不明白
 
Query1.DatabaseName:='F:/Projects/Test Add Field';
Query1.Active:=False;
Query1.SQL.Clear;
Query1.SQL.Add('ALTER TABLE Test ADD COLUMN Phone c(10) NULL');
Query1.ExecSQL;
执行时出错
 
Query1.SQL.Add('ALTER TABLE biolife ADD COLUMN fax char(20)');

表已经已了吧
 
原来这样:
Query1.SQL.Add('ALTER TABLE Test ADD COLUMN Phone char(10) NULL');
 
如下:
Query1.SQL.Add('ALTER TABLE Test ADD COLUMN Phone char(10)');
不支持 null
 
多人接受答案了。
 
后退
顶部