回 帖 发 新 帖 刷新版面

主题:遇到一个用Delphi连数据库的问题

在数据库表中性别是用布尔型保存的,但为了显示清楚在程序中加了TDBCheckBox和一个TComboBox.其中TDBCheckBox是隐藏的,只显示TComboBox,想用它的选择来改变数据库中的性别记录.
这用程序中代码:CheckBox1.Checked:=True;来修改的.
但实现过程中发现一个问题,就是添加或修改数据记录时,明明改变了TComboBox,并且TDBCheckBox的值也随即改变了,但就是提交时就是改变不了记录.一旦提交,一切立即成为原来的样子.像取消了一样.
请问各位高手这是为什么?

回复列表 (共3个回复)

沙发

在数据库表中性别是用布尔型保存的?
想用它的选择来改变数据库中的性别记录.


请问你是怎么改变的,不明白

板凳


看不明白~为什么要TDBCheckBox那?既然隐藏了,看不到了还要他干什么啊?
 提交的时候combobox返回的是index,不是boolean的,再说了~Tdbcheckbox和数据集有关系~那combobox和数据集有什么关系啊?
还是不明白你的意思

3 楼

是这样的,Tdbcheckbox只起个中间作用.因为在记录表中用的是布尔型,用真和假分别代表男和女.
所以造成在程序窗口中数据控件也要用表示布尔型的Tdbcheckbox,但因为这样做看着不习惯,就又在上面加了一层combobox.它有两个Item分别为男和女,对应于Tdbcheckbox的真和假.
在界面上只让用户看到combobox,通过对它的选择来用CheckBox1.Checked:=True;或CheckBox1.Checked:=False;实现对性别的更改.
但实际中却发现明明用程序代码改变过了,但提交更改时却又复原了,保存不到数据库中去.

我来回复

您尚未登录,请登录后再回复。点此登录或注册