****目标**:**只需根据存储过程搜索返回一个值,这是基于一个与数据网格一起使用的存储过程,但在这种情况下我只需要一个值。
****错误**:**没有返回任何内容!
注意:剥离版本
****代码**:**
.ASPX
<asp:Label ID="lblLocationsOutput" runat="server" Text="--" CssClass="lblLocationsOutput" />
.ASPX.VB
Dim connection As SqlConnection
Dim command As New SqlCommand
'Dim ds As New DataSet
Dim ConnectionString As String = System.Configuration.ConfigurationManager.ConnectionStrings("mySQL").ToString()
connection = New SqlConnection(ConnectionString)
Dim vLocationNumber As Integer
connection.Open()
With command
.Connection = connection
.CommandText = "spSearchLocation" 'include audit names
.CommandType = CommandType.StoredProcedure
.Parameters.Clear()
.Parameters.Add("@LocationsNumber", SqlDbType.Int)
.Parameters("@LocationsNumber").Direction = ParameterDirection.Output
.Parameters.AddWithValue("@sUPRN", sUPRN.Text & " ")
.ExecuteNonQuery()
If .Parameters("@LocationsNumber").Value.ToString = "" Then
vLocationNumber = "0"
End If
End With
lblLocationsOutput.Text = vLocationNumber
存储过程:
USE DATABASE
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
ALTER PROCEDURE dbo.spSearchLocation
@sUPRN varchar(20),
-- Add the parameters for the stored procedure here
@LocationsNumber Int OUTPUT
AS
BEGIN
--Main SQL
DECLARE @SQLSTRING AS VARCHAR(MAX)
IF LTRIM(RTRIM(@sUPRN)) <> ''
SET @SQLSTRING = @SQLSTRING + 'or UPRN LIKE ''%''' + QUOTENAME(LTRIM(RTRIM(@sUPRN))) + '''%'''
EXECUTE(@SQLSTRING)
END
SET @LocationsNumber = @SQLSTRING
查看引用,例如:enter link description here
希望是一个简单的错误。即使搜索只是说我知道的UPRN是正确的,也不起作用。
答案 0 :(得分:0)
添加一个
存储过程结束时Select @LocationsNumber