[問題]ASP.net 取資料庫值的問題..
請問..
我要將 資料庫取出來的值 指定給session變數
但是取值的時候,一直發生IndexOutOfRangeException錯誤
爬文找了很多ExecuteReader的使用方法
不知道我的寫法是哪裡錯誤..請各位大大幫忙看一下
以下為程式碼
SqlConnection dbcon;
SqlCommand dbcmd;
SqlDataReader dbdr;
string strdbcon, strsql;
//textuser_id 用來輸入 會員帳號
//textuser_pwd 會員密碼
strsql = "select user_id from 會員資料 where user_id =" +
"'"+textuser_id.Text+"'"+ " and "+
"password =" +"'"+ textuser_pwd.Text+"'";
dbcmd = new SqlCommand(strsql, dbcon);
dbdr = dbcmd.ExecuteReader();
dbdr.Read();
if (dbdr.HasRows)
{
/* 這裡一直出現問題
id是資料表的主鍵
我試了 Session["id"]= dbdr["id"]; 結果發生錯誤
用dbdr.GetString(0); 取出來卻是 欄位user_id的值 (會員帳號)
而dbdr.GetString(1)~(N) 都是出現 IndexOutOfRangeException錯誤
用dbdr["user_id"] 也是一樣的錯誤訊息..
*/
Session["id"] = dbdr.GetString(0);
Session["user_id"] = dbdr.GetString(3);
Session["password"] = dbdr.GetString(4);
Response.Write("<script> alert('登入成功')</script>");
dbcon.Close();
}
else
{
Response.Write("<script> alert('帳號或密碼錯誤')</script>");
}
請各位高手解惑,謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.44.19.36
※ 編輯: aaron7713 來自: 114.44.19.36 (07/25 11:27)
→
07/25 11:26, , 1F
07/25 11:26, 1F
→
07/25 11:29, , 2F
07/25 11:29, 2F
→
07/25 11:29, , 3F
07/25 11:29, 3F