簡體   English   中英

檢查ASP.NET C#中的MS Access數據庫是否返回任何行

[英]Checking if MS Access database in ASP.NET C# returns any rows

我有以下代碼:

cmd.Parameters.AddWithValue("@userName", txtLoginUserName.Text.Trim());
cmd.Parameters.AddWithValue("@password", txtLoginPassword.Text.Trim());

string sqllogin = "SELECT [username],[password] FROM users WHERE ([username] = @userName AND [password] = @password) ";

try
{
    con.Open();
    cmd.CommandText = sqllogin;
    int store = cmd.ExecuteNonQuery();

    con.Close();
    Label4.Text = store.ToString();
}
catch (Exception ex)
{
    con.Close();
}

每當執行時,它將在label4打印出0 這是檢查返回多少行的正確方法嗎?

cmd.Parameters.AddWithValue("@userName", txtLoginUserName.Text.Trim());
cmd.Parameters.AddWithValue("@password", txtLoginPassword.Text.Trim());

string sqllogin = "SELECT count(*) FROM users WHERE ([username] = @userName AND [password] = @password) ";

try
{
    con.Open();
    cmd.CommandText = sqllogin;
    var store = cmd.ExecuteScalar();

    con.Close();
    Label4.Text = store.ToString();
}
catch (Exception ex)
{
    con.Close();
}

為了回答您的特定問題,ExecuteNonQuery()應該返回受影響的行數。 但是,那里的查詢對您沒有多大幫助。

如果您只想知道有多少數據行與該un / pwd組合匹配,那么我將其更改為

"SELECT COUNT([username]) FROM users WHERE ([username] = @userName AND [password] = @password) ";

我仍然看不到這對您有多大用處,但您知道您要做什么:-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM