【发布时间】:2016-12-15 22:38:13
【问题描述】:
我有这个:
IF EXISTS
(SELECT 1
FROM User_Passwords
WHERE up_Password = @CurrentPassword)
PRINT 'Bad Password'
--RETURN TRUE
ELSE
从我遇到的情况来看,我需要我的 SP 返回一些东西,一个 1 或 0,或者一个字符串/varchar,所以我可以在 VB 端做一些工作。但截至目前,它没有返回任何东西,除非我没有正确调用它。这是VB代码:
Public Function UpdatePasswords()
Dim objCommand As New SqlCommand("Update_Passwords", DatabaseInterface_.Connection)
objCommand.CommandType = CommandType.StoredProcedure
objCommand.Parameters.AddWithValue("@ua_pk", ua_pk_)
objCommand.Parameters.Add(New SqlParameter With {.ParameterName = "@ResetDaysAmount", .SqlDbType = SqlDbType.Int, .Value = Company.GetSetting("PasswordExpireDays", SettingMisc.ReturnDataType.Integer_)})
objCommand.Parameters.Add(New SqlParameter With {.ParameterName = "@AllowedNumberOfPasswords", .SqlDbType = SqlDbType.Int, .Value = Company.GetSetting("NumberOfPasswords", SettingMisc.ReturnDataType.Integer_)})
objCommand.Parameters.Add(New SqlParameter With {.ParameterName = "@CurrentPasswordDate", .SqlDbType = SqlDbType.Date, .Value = ua_PasswordDate_})
objCommand.Parameters.Add(New SqlParameter With {.ParameterName = "@CurrentPassword", .SqlDbType = SqlDbType.VarChar, .Value = ua_Password_})
If objCommand.ExecuteScalar.ToString() = "Bad Password" Or 1 Then
Return True
Else
Return False
End If
End Function
【问题讨论】:
-
您可以在一次调用中完成而不是执行存在,而不是执行存在然后执行选择....
-
什么意思?
标签: sql-server vb.net stored-procedures