向存储过程传递“decimal”数据丢失小数位
各位老师,我在SQL2000里面设计的表里有个“数量”的字段是“decimal”数据,精度18,小数位是2,但在VB调用存储过程向该表里插入数据时都没有小数位,如“1.234”在表里只显示“1”,如果是“0.698”这样的就是“0”,总之小数点后不管是多少都失去了。这事咋回事。
Y = "insert_dictionary" & " " & Trim(Val(Text4.Text)) & ""
还有怎样向存储过程传递像药品规格这样的数据,如(“2ml*12支”),如果用val(2ml*12支),数据库里只能接收到“2”,而不用val就提示“ml”出错,数据库里这个字段什么字符型如:varchar,nvarchar我都试过了,都不行。
[解决办法]
不要写成2ml*12这样使用val的话会被转换成2。建议楼主养成良好的数据类型使用习惯。对于:2ml*12=24ml这样的格式,最好是这样计算:2*12ml,在计算中要将单位提出来。