一个简单的问题,求高手帮忙
using System;using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Web.Configuration;
using System.Data.SqlClient;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Unnamed1_Click(object sender, EventArgs e)
{
string username = TextBox1.Text;
string password = TextBox2.Text;
if (username == "" || password == "")
{
Label3.Text = "用户名和密码不能为空!!";
}
else
{
string settings = "server=localhost;database=first;uid=sa;pwd=lizhong000";
SqlConnection myconn = new SqlConnection(settings);
myconn.Open();
string mysql = "select * from UserList";
SqlCommand mycmd = new SqlCommand(mysql, myconn);
SqlDataReader mydr = mycmd.ExecuteReader();
if (mydr.Read())
{//身份验证成功
if (mydr.GetValue(0).ToString() == username || mydr.GetValue(1).ToString() == password)
{
Label3.Text = "登录成功!";
//HttpContext.Current.Response.Redirect("www.baidu.com");,
}
else
{
Label3.Text = "登录失败!";
}
}
else
{//身份验证失败
Label3.Text = "用户名不存在!";
}
mysql.Clone();
}
}
}
}
数据库中的UserList表里有了lz用户并且密码设置了lizhong,为什么在登陆的时候输入正确的用户名和密码也是提示的登录失败? --------------------编程问答-------------------- if (mydr.Read()) 这里换 while(mydr.Read());
不过这种问题最好还是直接用 sql语句查询,没必要这样遍历数据 --------------------编程问答-------------------- --------------------编程问答-------------------- GetValue(0)是id还是username,一般设计数据库第一个字的都是id吧,你调试看看GetValue(0)和GetValue(1)都是什么值 --------------------编程问答-------------------- string mysql = "select * from UserList";
这个查询结果是多条
改成这样
string mysql = "select * from UserList where username='"+username +"'and password ='"+password+"'
--------------------编程问答-------------------- 加端点调试。看看GetValue(0)和GetValue(1)是什么值?
最好能把你的sql语句改写为select UserName,Passsword from UserList --------------------编程问答-------------------- 我在数据库中建的表就是UserList,然后有两个字段name,passwd,只新建了一条数据就是lz,lizhong,但是在登陆页面输入正确的lz和lizhong还是说登陆失败 --------------------编程问答-------------------- 找到问题了,原来是UserList表里设置的长度问题,但是我想问下 设一个字段char的长度为10,但是如果表中的数据没有10的长度,他就默认添加空格补到10,有没有不添加空格补到10的方法,数据的长度是多少就是多少 --------------------编程问答-------------------- 是不是把char换成varchar?貌似是这样 --------------------编程问答-------------------- 该代码没有问题吧~可以这样子 --------------------编程问答-------------------- ...
补充:.NET技术 , ASP.NET