以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]存储过程解惑 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=61781) |
-- 作者:jnletao -- 发布时间:2014/12/19 8:59:00 -- [求助]存储过程解惑 MSSQL 存储过程 中 采用 return 语句 返回整数值 在SQL查询中正常返值 在foxtable里采用 ExecuteScalar() 语句 无法返回值 请问什么原因? 以下为相关代码 简易存储过程 以下内容为程序代码: 1 SET ANSI_NULLS ON 2 GO 3 SET QUOTED_IDENTIFIER ON 4 GO 5 ALTER PROCEDURE [dbo].[编号生成] 6 AS 7 8 BEGIN 9 DECLARE @Key1 int = 12 10 return @Key1 11 END 12 以下为查询语句 以下内容为程序代码: 1 Dim dr As DataRow = e.DataRow 2 Dim prefix As String = "ABCD" & format(dr("制单时间"),"yyMMdd") & "-" \'设置收费单编号前缀 3 Dim tablename As String = e.DataTable.name 4 Dim Key1 As Integer 5 Dim cmd As New SQLCommand 6 cmd.C 7 cmd.CommandText = "Exec 编号生成 \'" & prefix & "\',\'" & tablename & "\'" 8 Key1 = cmd.ExecuteScalar() key1 值为空,获取不到
|
-- 作者:有点甜 -- 发布时间:2014/12/19 9:13:00 -- 1、存储过程,参考 http://www.cnblogs.com/ylbtech/archive/2012/08/14/2638257.html
2、这一句有问题 cmd.CommandText = "Exec 编号生成 \'" & prefix & "\',\'" & tablename & "\'"
改成,而且红色的可以不要 cmd.CommandText = "Exec 编号生成 " & prefix & ", " & tablename |
-- 作者:逛逛 -- 发布时间:2014/12/19 9:20:00 -- 我理解的 ExecuteScalar 是返回表格的第一列第一行的值,其他都忽略 如果我的理解没错,就应该用表来返回,不能用值来返回。 |