向存储过程传递“decimal”数据丢失小数位

oracle185 2011-10-03 04:22:15
各位老师,我在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我都试过了,都不行。
...全文
250 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
oracle185 2011-10-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 veron_04 的回复:]
不要写成2ml*12这样使用val的话会被转换成2。建议楼主养成良好的数据类型使用习惯。对于:2ml*12=24ml这样的格式,最好是这样计算:2*12ml,在计算中要将单位提出来。
[/Quote]
这个“2ml*12”是整体作为一个字符串传给存储过程,然后由存储过程插入到数据库字段里的,不是让它们计算结果的!
贝隆 2011-10-03
  • 打赏
  • 举报
回复
不要写成2ml*12这样使用val的话会被转换成2。建议楼主养成良好的数据类型使用习惯。对于:2ml*12=24ml这样的格式,最好是这样计算:2*12ml,在计算中要将单位提出来。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧