0
String user = Request.Form["username"];
String Path = Server.MapPath("App_Data/Users.accdb");
String connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Path;
OleDbConnection conn = new OleDbConnection(connStr);
String sql = "SELECT * FROM Users WHERE UserName='" + user + "'";
conn.Open();
OleDbCommand cmd = new OleDbCommand(sql, conn);
OleDbDataReader myDataReader = cmd.ExecuteReader();
if (myDataReader.Read())
{
Response.Write("user exists");
conn.Close();
}
else
Response.Write("user does not exist");
conn.Close();
的其他時候,甚至當我進入存在於數據庫中的值總是發生在Access中存在的用戶名,與未能檢查是否使用ACCDB
if (myDataReader.Read())
我用它在我的登錄頁面,它的工作原理是看用戶是否存在,我只是從中刪除了密碼部分。
通過這種方式是我用這個頁面
<form method="get" action="profile.aspx">
<input type="text" name = "username" /><input type = "submit" value = "Search" />
</form>
遠程調試,當您執行查詢'SELECT * FROM Users'時,myDataReader包含什麼? –
變量'user'的值是什麼?嘗試用'Response.Write(「user:」+ user +「:does not exist」)替換Response.Write;' – Steve
我的某些表單有「method = get」,這是失敗的原因,現在好了,抱歉誤導你:S – user3575645