当前位置:编程学习 > C#/ASP.NET >>

一个简单的问题,求高手帮忙

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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,