我有以下功能;ExecuteScalar()方法無法正常工作
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 server上執行時正常工作,但從上面發佈的函數調用時,它會給出錯誤。上述功能在我的數據訪問層。所以在堆棧跟蹤中,我對上述函數有以下錯誤: NullReferenceException:未將對象引用設置爲對象的實例。任何人都可以解決這個問題
你嘗試調試和看什麼變量爲空? – eKek0
是,檢查對象,看看是否obj.username或obj.password爲null – user710502
我沒有檢查,我檢查現在 – user2599269