以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 如果获取储存过程的单个返回字符值? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=185430) |
-- 作者:happyft -- 发布时间:2023/2/22 14:32:00 -- 如果获取储存过程的单个返回字符值? \'生成表单自动编号 Dim tbname As String = "采购单" Dim cmd As New SQLCommand cmd.ConnectionName = Mydata cmd.CommandText = "usp_tbautoID" cmd.StoredProcedure = True cmd.Parameters.Add("@bh", "0", False) \'这是参数想获取存储过程的返回字符型的值要填写1还是空 cmd.Parameters.Add("@tbname", tbname) \'第二个参数指定输入参数 Dim bh As String = Cmd.Parameters("@bh") \'取得存储过程的返回值 \'cmd.ExecuteNonQuery MessageBox.Show(bh) sql的储存过程中用了output参数,上面想返回字符型的单个值总是出错,应该如何写才可以,上面的写法返回数值没问题 谢谢!
|
-- 作者:有点蓝 -- 发布时间:2023/2/22 14:51:00 -- cmd.Parameters.Add("@tbname", tbname) \'第二个参数指定输入参数 cmd.ExecuteNonQuery Dim bh As String = Cmd.Parameters("@bh") \'取得存储过程的返回值 |
-- 作者:HappyFt -- 发布时间:2023/2/22 15:00:00 -- 那样也是会出错,显示 String[0]: Size 属性具有无效大小值 0。 cmd.Parameters.Add("@bh", "", False) \'这是参数想获取存储过程的返回字符型的值要填写1还是空 返回字符时上面这名中间是写0,1还是空都不对 |
-- 作者:有点蓝 -- 发布时间:2023/2/22 15:13:00 -- 存储过程怎么定义的 |
-- 作者:HappyFt -- 发布时间:2023/2/22 15:17:00 -- --表单自动编号(不能回收编号)(无编号明细及记录表) ALTER PROCEDURE [dbo].[usp_tbautoID] ( @tbname NVARCHAR(16) , @bh NVARCHAR(16) OUTPUT ) AS BEGIN ---- --生成编号的过程略 ---- --格式化后输出编号 SELECT @sx = RIGHT(@num + CAST(@Key AS VARCHAR), LEN(@num)); --23-->023 SELECT @bh = REPLACE(@pf, @num, @sx); --1806-000-->1806-023 END; |
-- 作者:有点蓝 -- 发布时间:2023/2/22 15:29:00 -- 认真理解一下帮助:http://www.foxtable.com/webhelp/topics/3267.htm cmd.StoredProcedure = True cmd.Parameters.Add("@tbname", tbname) \'第二个参数指定输入参数 cmd.Parameters.Add("@bh", "", True) \'这是参数想获取存储过程的返回字符型的值要填写1还是空 cmd.ExecuteNonQuery |