标题:pB程序更新ACCESS数据库的问题。(此问题已解决)
只看楼主
gdyuer
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-5-23
 问题点数:0 回复次数:8 
pB程序更新ACCESS数据库的问题。(此问题已解决)

前些天我用PB做了一个车辆管理的程序,一直挺好用的。昨天因为业务需要,又对数据库表增加了几个字段,相应的程序也改了下,但在对clgl_zc这个表进行数据更新时,老是出现如下提示,

SQLSTATE = S1000
[Microsoft][ODBC Microsoft Access Driver] 由于其 Required 属性设置为真(True),字段 'clgl_zc.dj_clbm' 不能包含 Null 值。在此字段中输入一个数值。

实际上 'clgl_zc.dj_clbm' 里我明明已经输入了信息的(clgl_zc这个表已经设置了别的字段为主键)。

求各位老大帮忙了

[此贴子已经被作者于2007-6-8 9:25:31编辑过]

搜索更多相关主题的帖子: 数据库 ACCESS 字段 clgl 
2007-06-07 15:44
黎明前的黑暗
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-6-7
得分:0 
字段 'clgl_zc.dj_clbm'类型是什么?
其次你是不是更改了该字段的必须属性?是的话取消即可
2007-06-07 16:01
gdyuer
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-5-23
得分:0 

字段 'clgl_zc.dj_clbm'类型是什么?

回:是文本数据

其次你是不是更改了该字段的必须属性?是的话取消即可

回:这个就应该是必须的,它代表的是车辆号码。我不明白你说的必须属性在哪里。
在ACCESS的表的属性里,该字段我设置的就是必须的,不能为空,但允许重复。

2007-06-07 16:19
黎明前的黑暗
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-6-7
得分:0 
由于ACCESS数据库的必须属性,也就是数据库语言中的REQUIRED(必须的)和PB所支持的REQUIRED不一致,所以不能选
2007-06-07 16:43
黎明前的黑暗
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-6-7
得分:0 
如果你想数据不为空,可选"允许空字符串"属性为否,而不是修改必须字段.
2007-06-07 16:45
gdyuer
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-5-23
得分:0 
哈哈,你说的好用。先谢谢你了

但又出现一个比较严重的问题。

点击保存后,也出现正常保存的提示了。但在ACCESS里打开表后,最后只是多了一条各项值全都为空的记录,就是说我的数据并没正常保存到表里,包括dj_clbm这个字段也为空。该字段的属性已经设置为"允许空字符串"属性为否了,为什么又能保存呢?这个怎么解释呢?

我的“保存”事件里的代码应该没有问题,因为同样的代码更新另外一个表就没问题。
该代码如下:
dw_1.accepttext()
dw_1.Update()
IF dw_1.Update()=1 THEN
COMMIT USING SQLCA;
messagebox("成功!","数据已正确保存!")
ELSE
ROLLBACK USING SQLCA;
messagebox("失败!","操作的结果保存至数据库时失败,请关闭程序再打开重试!")
END IF

[此贴子已经被作者于2007-6-7 22:39:20编辑过]

2007-06-07 17:09
黎明前的黑暗
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-6-7
得分:0 
你点2次保存看看,第2次会不会出已有相同数据的提示,是的话用变量检查你的DW内的值.
不是的话,检查你的DW结构吧.
2007-06-07 17:19
gdyuer
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-5-23
得分:0 
点了N次,每次都是保存成功,也没有出现已有相同数据的提示

DW结构怎么查?

在ACCESS里打开表后,最后倒是多了一条记录,但每一项数据全都为空,就是说我的数据并没正常保存到表里,包括dj_clbm这个字段也为空。该字段的属性已经设置为"允许空字符串"属性为否了,为什么又能保存呢?这个怎么解释呢?

[此贴子已经被作者于2007-6-7 22:37:24编辑过]

2007-06-07 17:43
gdyuer
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-5-23
得分:0 
我找道原因了,很简单,是ROWS--UPDATE属性里没把允许更新的字段选上。

原因估计可能是因为表中新添加字段,重绘DATAWINDOW后引起的

谢谢黎明前的黑暗的帮助

我还发现dj_clbm这个字段属性再设置为必须,也能正常保存了

[此贴子已经被作者于2007-6-8 9:33:58编辑过]

2007-06-08 09:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-145686-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.891401 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved