0

私はこの関数を作成しましたが、今では常にtrueを返します...
誰かが私を助けてくれますか?


Create FUNCTION dbo.ValidateBranch
(
    @BranchID   nvarchar(50),
    @Password   nvarchar(50)
)
RETURNS bit
AS
    BEGIN
    declare @Res bit

    if exists(Select * From TPasswords Where (BranchID = @BranchID) and (isSecurity = 0) and (Pass = @Password)) 
        set @Res = 1
    else
        set @Res = 0



    RETURN @Res
    END

そして私はそのようにcallignです:


bool isValidBranch = taQueries.ValidateBranch(IDBranch, PasswordTextBox.Text) ?? false;
4

1 に答える 1

2

T-SQLコードは問題ないようです-SQL Mgmt Studioで、またはこの関数を呼び出すアプリから、「常に真に戻る」にはどうすればよいですか??

この関数をどのように呼び出していますか?そのコードを見せてもらえますか??

私はすぐにセットアップを再作成しました。私の場合、SQL Server 2008 R2 では、この関数を次のように呼び出すと問題なく動作します。

SELECT dbo.ValidateCenter('Center1', 'Pwd1')  -- return 1 
SELECT dbo.ValidateCenter('Center1', 'Pwd1333')  -- return 0
于 2010-10-28T05:21:40.083 に答える