数据库decimal值的问题
我有一个数据库的表,比如是“产品表”,“优惠价格”列,数据类型decimal,AllowDbNull,绑定到一个textbox(txt优惠价格)进行输入,正常输入数字,优惠价格=数字,没有问题。我希望如果清空txt优惠价格,则设置“优惠价格”为DBnull,可数据库自身的验证会提示我“输入字符串格式不正确”,不接受空字符串,请问如何解决?谢谢 --------------------编程问答-------------------- 设为字符串罗,string --------------------编程问答-------------------- 这样的话不是数据库表的格式都变了?排序也会慢吧。有没有什么方法可以取消vs自带的输入数据验证,我自己验证? --------------------编程问答-------------------- 默认值设为 0.00 --------------------编程问答-------------------- 这样还是不对啊,这样就有显示“0.00”了,我希望没有值的时候就没有显示 --------------------编程问答-------------------- 不能存dbnull的
可以这样处理,如果是空你就存0
然后load的时候判断如果是0 你就显示空 --------------------编程问答-------------------- 谢谢binny0532(苏打水),
我也这样想过,可问题是我在编辑"txt优惠价格"时,如果原来有值(比如18.5),我将其内容删除为空,据库自身的验证会提示我“输入字符串格式不正确”,我没有录入validating程序,是vs自动的,最好能把vs的自动验证关闭掉,有办法吗? --------------------编程问答-------------------- 首先:
你可以判断如果为空的时候就存0就是了
其次 validating是可以控制的。
这种问题很简单,先想一下 --------------------编程问答-------------------- binny0532(苏打水)
怎么控制? --------------------编程问答-------------------- 添加事件,如果你改变或者程序改变了TEXTBOX的值,就会触发事件
Private Sub TextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox45.TextChanged
if TextBox.text="" than
a = 0.0
TextBox.Text = CStr(a)
end if
End Sub
--------------------编程问答-------------------- 那这样textbox里应该会显示“0.0”吧,我希望什么都不显示,空的,行吗? --------------------编程问答-------------------- 我的想法是如果没有vs的自动验证,自己输入的验证程序如下
sub txtPrice_validating...
if txtPrice.isdbnullorempty
'如果为空则设置产品表的价格单元为空
me.dataset1.producttable(me.producttableBindingSource.position).setPriceNull()
else
'不为空,验证是否是>0的数字
...
endif
end sub
结果txtPrice为空时老是会出现错误提示。。。
有办法吗?
--------------------编程问答-------------------- [align=left][/ali回帖是一种美德!传说每天回帖即可获得 10 分可用分gn]
补充:.NET技术 , VB.NET