为什么paradox建的表字段值没法修改????(50分)

  • 主题发起人 主题发起人 gogomx
  • 开始时间 开始时间
G

gogomx

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序已经写好,现在发现有的字段设置不好,想修改字段值,但老是出错:××expecting:Integer actual:string××之类的错误!
请各位大侠帮帮忙!!!
 
用Database Desktop的'Edit Data'工具看看
 
我说的不清楚,我要改的是字段类型,比如由整形改为字符串型就出上面的那个错误!
如何解决,请大家帮个忙!!!
不胜感激!
 
用Database Desktop 程序要修改
 
各位大侠帮帮忙吧!我原来就在在Database Desktop上改过了,但程序一运行就报错,是不是还有什么地方需要注意的,
或者要修改的,请各路高手不吝赐教!
 
各位大侠是不是闲问题太简单了不愿意回答!
可是我是新手,恳请知道的朋友给我个满意的答复!
热切期盼中……
 
修改字段的时候,表中该字段的内容需更改类型,
建议你将表中该字段的内容清空,然后再修改字段类型,应该就OK了.
 
ydejun:我试过了,还是不行的!
不会是这个表的字段定义改变了整个程序都得重新写吧!
还会有什么其它的原因吗?
 
表的结构更改,你想你的程序不改?虽然数据库的目标是数据与程序分开,保证数据的独立性,但
能真正做到这个的,世界还没有这样的公司和产品!
所以如果你的数据库结构更改了你的程序肯定是要修改的!不要再抱什么幻想了![:D]
 
我知道程序是肯定要改的,但也不至于要全盘重写吧,
不过出的那个错误也太奇怪了!
不知道还有没哪位大侠碰到过类似的问题,是怎么解决的?
请多指教!
 
当然,不至于要全盘重写!你可以在更改字段类型后,再打开你的工程文件,如果在程序中你没有自己
使用该字段(如:somefiled.asinteger之类的语句),只要将与该表联接的组件close后再open,如果幸运的
话,这时只要重新编译就可以了。否则就要查看哪儿使用了该字段找到后修改。
 
windbell兄,我照着做过了了,还是不行呀!我没有用somefield.asinteger之类的语句,
可是就是每次都出那个错误,真是好奇怪呀!怎么办呢?

也请其它英雄指点迷津!感激万分!
 
是你的程序中在设计期间生成了永久字段对象,而这个字段对象的类型与数据库中字段类型不同;
比如你原来的字段是Integer类型,生成的永久字段是TIntegerField,但是你手工改了数据库的字段,
将其改成String类型,而程序中的这个字段对象又没有改,所以出现错误,你可以:
1、在程序中找到这个永久性字段,删除,再重新生成;
2、在字段对象所在的单元只找到这个字段,把它的类型改成TStringField,
然后显示Form(如果出现Delphi提示一定要按Cancel),在Form上单击右键,View as text菜单,
在显示出来的dfm文件中找到这个字段,把它的类型改成TStringField,并把部份属于TIntegerField类
而不属于TStringField类的属性及值删除(可参考其他TStringField对象的属性),再单击右键View as form,
再编译,应该问题解决。

强列建议改dfm文件前先备份。
 
到IDE中去调试,看看是在哪儿出错,要仔细!
 
我前一段时间将字符型该为正形可以阿,程序和表结构都要改
没有问题!
 
Thank you,aizb!问题解决了!
 

Similar threads

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