[問題]ASP.net 取資料庫值的問題..

看板C_Sharp作者 (HI~~~)時間15年前 (2010/07/25 11:21), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
請問.. 我要將 資料庫取出來的值 指定給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
你select user_id,結果裡面當然只有user_id ...
07/25 11:26, 1F

07/25 11:29, , 2F
囧!!! 原來如此 我一直在想是不是reader寫錯..忽略selec
07/25 11:29, 2F

07/25 11:29, , 3F
t 謝謝 查了好久 哈哈哈哈
07/25 11:29, 3F
文章代碼(AID): #1CIwtCNQ (C_Sharp)