关于ADO存取数字类型字段的问题(100分)

5

55555

Unregistered / Unconfirmed
GUEST, unregistred user!
开发环境
1.delphi5+补丁d5adoupdate2.exe+D5EntUpdate.exe
2.Oracle8.16
问题
在三层体系中,我用ADOQuery 只是存一个简单的单表,这个表的主键(SSBNM )是
Integer类型,我保存时出现下列现象,在post前后(SSBNM )数据都是对的,
但applyupdate之后,虽然保存成功,但值却变成了0,不知道是怎么会事,请指点,
不胜感激。
我的这个表如下:
SSBNM NOT NULL NUMBER(38)
IXH NOT NULL NUMBER(38)
SDXLB VARCHAR2(3)
SDXDM VARCHAR2(30)
SQSGTH VARCHAR2(10)
SZZGTH VARCHAR2(10)
SDXGG VARCHAR2(40)
 
不会吧。查一下你的代码,或数据表是否有trigger或其他约束等。
 
那你是不是只能保存一条记录进去?IXH的值又如何?我想是不是和你的表结构有关
 
to chenxz:
这个表没有触发器,也没有其他约束关系
to: janel199991:
关键是,这个表的主键是Integer,它就不能保存
如果Integer类型的字段不是主键,则能够保存
 
你是不是设了主键为自动增长(Identity),不然没理由的
或你保存不进行,从OnReconcileError事件中,获取一下错误信息,看是什么错
 
to janel199991:
不是自动增长,在OnReconcileError中没有错误消息,只是将其值改变了,比如
在前台输入的数字是1,在应用服务器上我去看传过来的值,就变成了0
真是不能理解!
 
你用ApplyUpdates(0),保存,先不要看应用服务器层的值,看看结果是什么。
 
已经解决,谢谢各位的帮助
 
多人接受答案了。
 
顶部