作者aaron7713 (HI~~~)
看板C_Sharp
标题[问题]ASP.net 取资料库值的问题..
时间Sun Jul 25 11:21:46 2010
请问..
我要将 资料库取出来的值 指定给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)
1F:→ ssccg:你select user_id,结果里面当然只有user_id ... 07/25 11:26
2F:→ aaron7713:囧!!! 原来如此 我一直在想是不是reader写错..忽略selec 07/25 11:29
3F:→ aaron7713:t 谢谢 查了好久 哈哈哈哈 07/25 11:29