Проблема возврата значения из хранимой процедуры
У меня есть проблема с получением возвращаемого значения из хранимой процедуры, она просто возвращает dbnull, я проверил SP, и это работает нормально
хранимая процедура :-
alter PROCEDURE UPDATE_SiteVisitors2 @VPCode nvarchar(10), AS BEGIN declare @Exists INT SET NOCOUNT ON; IF EXISTS (select vpcode FROM SiteVisitors WHERE vpcode=@vpcode) BEGIN update sitevisitors set VSignOut = getdate() where VPCode=@VPCode SET @Exists = 1 END ELSE BEGIN SET @Exists = 0 END RETURN @Exists END
ГЛ. :-
<pre> Public Function updateVisitors(ByVal VPCode As String) Dim conn As New System.Data.SqlClient.SqlConnection(access.SQLstrconn) Dim sql As String = "UPDATE_SiteVisitors2 '" & VPCode & "'" Dim Cmd As New System.Data.SqlClient.SqlCommand(sql, conn) Dim Par As New System.Data.SqlClient.SqlParameter Cmd.Parameters.Add("@Exists", SqlDbType.Int) Cmd.Parameters("@Exists").Direction = ParameterDirection.Output conn.Open() Cmd.ExecuteNonQuery() SignIn.exists = Cmd.Parameters("@Exists").Value conn.Close() 'signin.exists is a public variable int MsgBox(SignIn.exists) Return SignIn.exists End Function
Что я уже пробовал:
Попробовал несколько вещей, но просто получил DBNULL
CHill60
Действительно ли VSignOut обновляется?
caffrey_1
Да, это так, обновление работает нормально, просто @Exists просто возвращается как DBNULL
[no name]
cmd. CommandType = CommandType.Хранимая процедура
caffrey_1
Вызывает исключение не удалось найти хранимую процедуру ?
[no name]
Это происходит потому, что имя вашего SP-UPDATE_SiteVisitors2, а не UPDATE_SiteVisitors2 + someVPCode.
caffrey_1
Да, это действительно помогло, спасибо