请教一个简单的用户登录验证问题......
2个TextBox,一个输入用户名,一个输入密码,然后点击Button“登录”后,连接数据库,读取用户名和密码,通过比较验证。
我用DataRow未能解决,望指教
问题点数:10、回复次数:13Top
1 楼lvenlee(大头.NET)回复于 2004-05-04 13:18:23 得分 2
"select username,password from users where username='"+txtUserName.text.trim()+"'"
if(dr["password"]==txtPassWord.text.trim())
// login sucess!!
else
// login faild!!Top
2 楼joelbh(ILoveYou)回复于 2004-05-04 13:49:32 得分 2
OleDbConnection conn=new OleDbConnection(strConn);
conn.Open();
OleDbCommand cmd1=new OleDbCommand(isExist,conn);
string exist=cmd1.ExecuteScalar().ToString();
if (exist=="1")
{
//表示找到用户
}
else
{
//不存在用户
}Top
3 楼alfredbogard(哈哈镜)回复于 2004-05-04 16:22:49 得分 0
DataRow [] drs;
drs = this.dataSet11.人物信息.Select("工号 = "+"'"+this.工号.Text+"'");
if(drs.Length>0)
{
if(drs[0]["密码"].ToString() == "")
{
this.Label4.Text = "第一次登录必须修改口令";
}
else
{
if(drs[0]["密码"].ToString() == this.密码.Text)
{
Session["logname"] = this.工号.Text;
Session["username"] = drs[0]["姓名"].ToString();
Server.Transfer("KFRY/kfry.aspx");
}
else
{
this.Label4.Text = "密码不正确!";
this.密码.Text = "";
}
}
}
else
{
this.Label4.Text = "用户不存在!";
this.工号.Text = "";
this.密码.Text = "";
}
我是这么写的,自己看不出什么错误,烦请大家再帮我看看Top
4 楼bixueer(碧雪)回复于 2004-05-04 17:21:41 得分 0
我也看不出来啊!!!!Top
5 楼renwg2004(蝈蝈)回复于 2004-05-04 17:26:59 得分 0
我也有类似的问题!
我帮您顶Top
6 楼wg815ceo(勇仔.net)回复于 2004-05-04 18:36:31 得分 0
学习ing....Top
7 楼alfredbogard(哈哈镜)回复于 2004-05-04 21:27:54 得分 0
初步自己判断,问题在这一句上
drs = this.dataSet11.人物信息.Select("工号 = "+"'"+this.工号.Text+"'");
要是你们写,一般会是怎么写?Top
8 楼alfredbogard(哈哈镜)回复于 2004-05-04 23:43:58 得分 0
人物信息是表名,工号字段是varchar类型的,大家帮我看看呀Top
9 楼dongjie1928(〓阿★杰〓)回复于 2004-05-05 00:18:24 得分 0
你把this.工号.Text
Trim()一下试试?????Top
10 楼Exchange2000(电子邮件)回复于 2004-05-05 11:03:18 得分 0
'不需要Top
11 楼alfredbogard(哈哈镜)回复于 2004-05-05 11:29:12 得分 0
DataRow [] drs;
drs = this.dataSet11.人物信息.Select("工号 = "+"'"+this.工号.Text+"'");
if(drs.Length>0)
到这里目前都没有问题了,只是我利用跟踪
竟然返回告诉我 drs[0]["密码"].ToString() 值不存在
我的密码设置为“123”
但是跟踪dr[0]["密码"]的值时 显示“123 ”,为什么ToString()后就不能用了呢?Top
12 楼mofeng1982(漠风)回复于 2004-05-05 15:53:52 得分 6
跟踪的监视窗口里输入.TOSTRING()是没用的,因为它不是变量,没有内存空间.如果想看结果,就插入下面的
string tmp=drs[0]["密码"].ToString();
然后在监视栏里看tmp的值Top
13 楼alfredbogard(哈哈镜)回复于 2004-05-06 16:11:19 得分 0
谢谢漠风,我已经调试好了,那个程序没有问题,但不知道为什么原来调试的时候会出错。Top




