Foxtable(狐表)用户栏目专家坐堂 → 为什么返回的小数变成了整数?


  共有1390人关注过本帖树形打印复制链接

主题:为什么返回的小数变成了整数?

帅哥,在线噢!
HappyFt
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17576 威望:0 精华:0 注册:2014/7/29 19:09:00
为什么返回的小数变成了整数?  发帖心情 Post By:2024/8/8 16:17:00 [显示全部帖子]

  '通过储存过程获取当前仓库当前产品的即时库存
        cmd.CommandText = "usp_kcquery_pcodeck"
        cmd.StoredProcedure = True
        cmd.Parameters.Add("@qty", 0, False) '这是第一个参数,用于获取存储过程的返回值
        cmd.Parameters.Add("@pcode", pcode) '第二个参数指定输入参数
        cmd.Parameters.Add("@ck", ck) '第三个参数指定输入参数
        cmd.ExecuteNonQuery
        Dim qty_kc As Double = Cmd.Parameters("@qty") '取得存储过程的返回值
        MessageBox.Show(qty_kc)

从后台返回一个值,后台sql中print出来是2.6,为何用上面代码返回到foxtable中显示变为2,小数不见了,
如果要保存小数,上面红色代码应该如何写?
谢谢

 回到顶部
帅哥,在线噢!
HappyFt
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17576 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2024/8/8 16:47:00 [显示全部帖子]

没有呀,定义的是float,储存过程中是下面这样的
 --返回期末数量
 DECLARE @qty FLOAT
  SELECT  @qty = ISNULL(@numS,0) + ISNULL(@num2,0);
 --PRINT @qty
 RETURN @qty;

返回前在后端print打开都是显示2.6,
到前端用一楼的代码显示时就变成2了

 回到顶部
帅哥,在线噢!
HappyFt
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17576 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2024/8/8 18:12:00 [显示全部帖子]

还是不可以,是不是前端设置接收返回参数那里只能接收整数,或者是要怎么设置一下才可以

 回到顶部
帅哥,在线噢!
HappyFt
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17576 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2024/8/9 8:54:00 [显示全部帖子]

谢谢蓝老师,可以了

 回到顶部