[英]Why is this SQL statement giving me an invalid column name error?
我正在嘗試使用SQL select語句從數據庫中讀取以驗證登錄表單。 我遇到的問題是它告訴我其無效的列名。
SELECT * FROM users
WHERE [username] = @theusername
AND [password] = @thepassword
其中,@ theusername是“ Rymo_18”的參數化值,而出於參數目的,密碼是“ password”。
我得到的錯誤是:
無效的列名“ Rymo_18”。
無效的列名“密碼”
不知道為什么我會收到這些錯誤。 我嘗試過在=號附近交換值,嘗試直接使用值(用戶名=“ Rymo_18”)以及其他所有要解決它的問題,但我沒有運氣。 我的數據庫中沒有其他表稱為“用戶”。
編輯:這是它在我正在使用的C#中顯示的代碼:
string user = unametext.Text;
string pword = pwordtext.Text;
string connectionstring = WebConfigurationManager.ConnectionStrings["elmtreeconnect"].ConnectionString;
SqlConnection myconnection = new SqlConnection(connectionstring);
myconnection.Open();
string query = "SELECT * FROM users WHERE (username= @theusername OR email = @theusername) AND password = @thepassword";
SqlCommand attemptLogin = new SqlCommand(query, myconnection);
attemptLogin.Parameters.AddWithValue("@theusername", user);
attemptLogin.Parameters.AddWithValue("@thepassword", pword);
SqlDataReader rdr = attemptLogin.ExecuteReader();
if (rdr.HasRows)
{
Session["user"] = rdr["username"].ToString();
Session["id"] = rdr["id"].ToString();
Session["type"] = rdr["accountType"].ToString();
Response.Redirect("loginsuccess.aspx");
}
else
{
unametext.Text = "";
pwordtext.Text = "";
statusLabel.Text = "Login failed. Please try again, or contact info@elmtree.co.uk for assistance";
}
謝謝您的幫助!
string query = "select 1 from users where username=@theusername and password=@password";
...
if(rdr.Read()){
...
}
if exists(select...)
exists
則應使用if exists(select...)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.