这是ado的bug,还是我的设置问题 (100分)

  • 主题发起人 主题发起人 qhchen77
  • 开始时间 开始时间
Q

qhchen77

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用sql server2000的数据库,表中用到了uniqueidentifier数据类型。
这个字段的默认值是newid()。
很奇怪的是,每次我增加完数据,并且保存后,读这个字段的值,
每次返回的都是空值,而事实上,数据库中这个值并不是空的。
同样保存的其他类型的(例如int,varchar等类型的,)都能返回正确的值。

在重新运行系统时,有能够正确的得到这个uniqueidentifier数据类型的值。
如何解决这个问题?

help me!please!

thank you!
 
你是用的sql语句增加的吗,你试试用insert增加试试.
然后再用ado原生对象也试试.
 
我直接用append语句增加的。
 
你要的值在缓冲里
你先关闭数据源在重新打开,应该就可以了
 
to 小小武:
如果在三层结构中怎么办?
我在客户端将clientdateset的active先设为false,然后再设为true,
可是返回的值仍旧为空。
 
用这句.
ClientDataSet1.ApplyUpdates(0);
 
已经用过了applyupdate(-1)并且得到结果等于0。更新是成功得。
 
应用服务器层的ado 数据对象在after post事件refresh一下
 
可以碰到过这种情况,听听课。
 
同意楼上的说法,要不close,open就行了。
 
如果你在多表使用这个字段的话,还是自己生成好了。免得麻烦,呵呵
 
to gutian:
<<如果你在多表使用这个字段的话,还是自己生成好了。免得麻烦,呵呵

如何自己生成
 
在中间层对adodateset进行requery后,这个字段的值能够正确得到了。
但是还有个问题,就是在客户端对这个表使用locate操作时,
不能定位到这条记录上去。这如何解决?
 
多人接受答案了。
 
后退
顶部