在DELPHI4.0程序的运行中如何修改表结构?(100分)

  • 主题发起人 主题发起人 Leaze
  • 开始时间 开始时间
L

Leaze

Unregistered / Unconfirmed
GUEST, unregistred user!
在DELPHI4.0程序的运行中如何修改表结构?
要求:能实现修改字段名、字段宽度;插入字段;删除字段等操作,
并且保留未修改字段的原有数据。


 
要想干这些事情用bde的api,详细内容请看bde.hlp ,bde.int(pas的接口说明)
bde.hlp在borland shared/bde下,bde.int在/delphi5/doc下
 
新建一个临时表,将原表中的数据复制到临时表中,然后删除愿表,将临时表该名
 
BDE API DbiDoRestructure! 找找帮助吧.

可以参见:<a href=http://www.gislab.ecnu.edu.cn/delphibbs/dispq.asp?LID=146194>有办法动态改变数据库的字符型字段的长度吗?</a>
 
我有一个控件TDBUpdate 是能够很方便为 Table 增减字段的构件,可惜我没用过,
你要的话我可以发给你。
 
在 query 中直接写 Alter Table...... 就可以了.不会影响原有数据.
sql server7,sqlanywhered等数据库都支持此操作。
 
用ALTER TABLE语句可以实现部分功能:
1、修改长度:变长可以,变短的话必须该字段的所有值都是NULL
alter table tablea modify a char(20)
2、增加字段:可以
alter table tablea add a char(20)
3、修改字段名:不可以
4、删除字段:不可以
3和4的情况只能通过建临时表,将数据倒到临时表中,删除源表,
按新结构重建源表,再将数据从临时表倒回的办法。
 
在sql 6.5中不支持修改、删除字段,但在 sql 7.0中已经可以进行此操作了。
 
设计时可以用SQL Explorer 修改,很方便。不过这对你,可能是废话。
不过我是好不容易发现的。希望对一些人有点帮助。
 
谢谢各位的帮助
 
利用临时文件创建动态表能行,方法我得找找!
 
多人接受答案了。
 
后退
顶部