0

次の機能があります。

public int GetLoginClaim(IsValidLogin Obj)
{
    SqlConnection DBCon = new SqlConnection(ConString);
    SqlCommand CmdSelect = new SqlCommand("IsValidLogin", DBCon);
    CmdSelect.CommandType = CommandType.StoredProcedure;
    DBCon.Open();
    try
    {
        CmdSelect.Parameters.AddWithValue("@UserName", Obj.Username);
        CmdSelect.Parameters.AddWithValue("@Password", Obj.Password);

        return (int)CmdSelect.ExecuteScalar();
    }
    catch
    {
        throw;
    }
    finally
    {
        CmdSelect.Dispose();
        DBCon.Close();
        DBCon.Dispose();
    }
}

そして、それが依存する次のストアド プロシージャ。

USE [SMania]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[IsValidLogin]
@UserName varchar(32),
@Password varchar(32)
As
if exists(Select * From NewClientTB Where UserName = @UserName And Password = @Password)
 return(1)
else
 return(0)

ストアド プロシージャは、SQL サーバーで実行すると正しく動作しますが、上記の関数から呼び出すと、エラーが発生します。上記の関数は、私のデータ アクセス レイヤーにあります。したがって、スタック トレースでは、上記の関数で次のエラーが発生しています: NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。誰でもこの問題を解決できますか?

4

1 に答える 1