none
关于登陆框怎样验证用户和密码匹配 RRS feed

  • 问题

  • 我是一个刚刚学习编程的学生,最近学习了ASP.NET,自己看见很多网站上都有登陆框,自己就做了个,但不知道怎么从数据库里拿出用户名和密码 来与页面上的输入相比较。
    在页面上 就两个TEXTBOX,一个输入用户,一个输入密码,然后一个登陆按钮,如果匹配成功,跳转到其他页面,不成功则提示重新输入。
     我在web.config里配置了连接字符串
    <connectionStrings>
        <add name="MySqlConnection"
            connectionString ="Data Source=localhost;
                          Initial Catalog=UESER;
                           Integrated Security=True;"
            providerName="System.Data.SqlClient"/>
      </connectionStrings>
    在数据库里建了一个表,表名为userMessage,有两列username 和password
    我从VS设计界面双击登陆按钮后就不知道代码应该怎么写了。
    不知道怎么才能验证用户名和密码是否匹配。
    我也不知道这个问题是属于ASP.NET还是ADO.NET,还请各位帮小弟一个忙了。代码写详细一点,我是个初学者。。
    谢谢
    人就要不断追求才会进步!
    2009年3月3日 9:03

答案

  • 在页面添加一个Button,在Click事件里写

    string sql = "select * from userMessage where username =@username and [password]=@password";
    数据库打开你会把。网上很多例子
    然后创建一个SqlCommand对象cmd

    cmd.Parameters.AddWithValue("@username", UserName.Text);
    cmd.Parameters.AddWithValue("@password", password.Text);

    然后执行
    SqlDataReader dr = cmd.ExecuteReade();
    if(dr.HasRows)
    {
    正确的用户名和密码
    }


    最好你找本书或者一些教程看看

    孟宪会
    • 已标记为答案 Irvin518 2009年3月3日 15:28
    2009年3月3日 9:44
    版主
  •  Messagebox只能在winform里使用

    SqlConnection MySqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["MySqlConnection"].ToString());



    ....

      if (dr.HasRows)
                {
                    Response.Redirect("chaxun.aspx");
                }
    else
    {
     ClientScriptManager..RegisterStartupScript(Page.GetType(),"js","alert('错误')",true);
    }



    http://msdn.microsoft.com/zh-cn/library/system.web.ui.clientscriptmanager.aspx
    孟宪会
    • 已标记为答案 Irvin518 2009年3月3日 15:28
    2009年3月3日 12:30
    版主

全部回复

  • 在页面添加一个Button,在Click事件里写

    string sql = "select * from userMessage where username =@username and [password]=@password";
    数据库打开你会把。网上很多例子
    然后创建一个SqlCommand对象cmd

    cmd.Parameters.AddWithValue("@username", UserName.Text);
    cmd.Parameters.AddWithValue("@password", password.Text);

    然后执行
    SqlDataReader dr = cmd.ExecuteReade();
    if(dr.HasRows)
    {
    正确的用户名和密码
    }


    最好你找本书或者一些教程看看

    孟宪会
    • 已标记为答案 Irvin518 2009年3月3日 15:28
    2009年3月3日 9:44
    版主
  • 老师,我看了你的代码后我是这样写的  
    protected void ImageButton1_Click1(object sender, ImageClickEventArgs e)
            {
                string sql = "select * from userMessage where username =@username and [password]=@password";
                MySqlConnection.open();
                SqlCommand cmd = MySqlConnection.creatCommand();
                cmd.Parameters.AddWithValue("@username", UserName.Text);
                cmd.Parameters.AddWithValue("@password", password.Text);
                cmd.CommandText = sql;
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    Response.Redirect("chaxun.aspx");
                }
    结果有错啊
    说找不到MySqlConnection


    那个MySqlConnection是我在web.config里取的连接名字啊,还有,我在Default.aspx.cs里添加了命名空间using System.data.sqlClient;
    我以前没在配置文件里连接过数据库,我不知道在配置文件中连接数据库后,在程序中如何打开。
    我只知道在程序里连接数据库后的打开方法,老师,谢谢了
    人就要不断追求才会进步!
    2009年3月3日 12:03
  • 还有个问题,老师,网页里不能用Messagebox这个啊,我用什么来提示重新输入?还又我看到果有的网站又这样的消息框出现是不是用脚本语言写?应该怎么写啊?真的不好意思,问怎么多问题。。。老师见谅啊!
    人就要不断追求才会进步!
    2009年3月3日 12:18
  •  Messagebox只能在winform里使用

    SqlConnection MySqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["MySqlConnection"].ToString());



    ....

      if (dr.HasRows)
                {
                    Response.Redirect("chaxun.aspx");
                }
    else
    {
     ClientScriptManager..RegisterStartupScript(Page.GetType(),"js","alert('错误')",true);
    }



    http://msdn.microsoft.com/zh-cn/library/system.web.ui.clientscriptmanager.aspx
    孟宪会
    • 已标记为答案 Irvin518 2009年3月3日 15:28
    2009年3月3日 12:30
    版主
  • 老师,这个会报错啊?
     else
                {
                    ClientScriptManager.RegisterStartupScript(Page.GetType(),"js","alert('错误')",true);
                }


    错误 1 非静态的字段、方法或属性“System.Web.UI.ClientScriptManager.RegisterStartupScript(System.Type, string, string, bool)”要求对象引用 E:\WORK\WebApplication1\Default.aspx.cs 39 17 WebApplication1
    这是怎么的??
    其他的都解决了,哈哈,谢谢老师哈!!!
    我会经常在这上边学习的

    人就要不断追求才会进步!
    2009年3月3日 13:07
  • 你可以使用过时的RegisterStartupScript方法
    Page.RegisterStartupScript("Startup", "<script>alert('错误')</script>");


     ClientScriptManager.RegisterStartupScript的使用参见

    http://blog.csdn.net/dotnet90/archive/2007/11/12/1881239.aspx

    这个是asp.net 2.0之后新加的

    孟宪会
    2009年3月3日 14:22
    版主
  • 解决了,,谢谢老师!!!
    人就要不断追求才会进步!
    2009年3月3日 15:28