[英]C# stop on null reference
在我的程序登錄過程中,我在admin表中檢查用戶的存在
如果它們在管理表中不存在,我希望程序停止執行其余的登錄序列,並在登錄屏幕上更新標簽文本以顯示為什么他們無法登錄等。
目前,標簽不隨文本更新,這取決於在更改文本之前刷新頁面。
登錄期間還會發生其他檢查,這些檢查可能會阻止他們登錄。
在這種情況下,最好的方法是根據某些檢查來確保每次可以顯示不同的標簽文本?
謝謝你的幫助
try
{
conn.Open();
string checkAdmin = "Select Username from Admins where Username= '" + Session["Username"] + "'";
SqlCommand adminCheck = new SqlCommand(checkAdmin, conn);
string admin = adminCheck.ExecuteScalar().ToString();
conn.Close();
Session["Admin"] = admin;
}
catch (NullReferenceException)
{
Session.Abandon();
Response.Redirect(Request.RawUrl);
Label3.Text = "blablabla"
}
編輯
好的,我現在根據您的評論對其進行了更新。
try
{
string checkAdmin = "Select Username from Admins where Username= @User";
conn.Open();
SqlCommand adminCheck = new SqlCommand(checkAdmin, conn);
adminCheck.Parameters.AddWithValue("@User", Session["Username"]);
var admin = adminCheck.ExecuteScalar();
conn.Close();
if (admin != null)
{
Session["Admin"] = admin;
}
else
{
Session["Admin"] = null;
}
}
catch (Exception)
{
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.