我想在c#的form中实现超级管理员和其密码的验证,以便登陆。请教各位!我的具体想法是:
把超级管理员的帐号和密码放在SQL 2000中的一个LoginData的表中,
表有两项属性:LoginName和LoginPassword,都分别已经初始化为
LoginName='administrator';LoginPassword='123456';
当用户输入超级管理员的用户名和密码的时候可以连接到数据库的表中进行验证。请问具体应该怎么实现!谢谢

解决方案 »

  1.   

    楼上够狠,被愚下吧
    做一个静态类,放一个静态变量表示登没登陆,同理可以放n个变量存储登陆信息(角色用户名等等)
    做个form验证
    控制以上变量
    在需要验证的地方读取变量
      

  2.   

    我来当一下愚人吧,就当是复习了:先实例化一下sqlconnection sqlcon = new sqlconnection("data source=...;uid=...;pwd = ...;initial catalog = ...;");
    再实例化一下sqlcommand sqlcmd = new sqlcommand("select userid,userpassword from 表名 where userid='"+TextBox1.Text+"',userpassword='"+TextBox2.Text"'",sqlcon);sqlcon.Open();
    sqldatareader read = sqlcmd.exe...reader();
    if(read.hasRow)
    {
        MessageBox.Show("登陆成功!");
    }
    else
    {
        MessageBox.Shwo("用户名或密码输入错误!");
    }
    sqlcon.Close();
    以上.因为手上没有.net所以凭空写了几句话也不知道哪个地方是不是有错误.请见谅!
      

  3.   

    我的方法一般是:
    SqlConnection sqlCon =new SqlConnection(strConnectString)
    sqlCon.Open();
    SqlDataAdapter sda =new SqlDataAdapter("Select * From LoginData Where userid ='"+TextBox1.Text"' And userPwd ="+TextBox2.Text+"'",sqlCon);DataTable dt =new DataTable();
    sda.Fill(dt);
    if(dt.Rows.Count==0)
    {
      MessageBox.Show("没有该用户");
      return;
    }
    else
    {
      MessageBox.Show("OK")
      return;
    }
      

  4.   

    楼上两位写代码地,提个建议哈,以后尽量用String.Format,那么多""""""""",看着眼晕~~~~~~
      

  5.   

    汗,String.Format不是要写更多的东东吗?还是""""""""写习惯了^_^
      

  6.   

    SqlDataAdapter sda =new SqlDataAdapter("Select * From LoginData Where userid ='"+TextBox1.Text"' And userPwd ="+TextBox2.Text+"'",sqlCon);------------------------
    这么烂的SQL语句也写啊..
      

  7.   

    在窗体上有两个文本框(userid,userpsw),一个提交按钮。
    功能是点击提交按钮后,将输入的userid,userpsw与logoin表里面的数据比较,也就是登录系统的那种。
    表logoin:
    ┏━━━━━━━━━━━━━━━━━┑
    ┃  username         userpssword    ┃
    ├━━━━━━━━━━━━━━━━━┃
    ┃   cg20                 cgbm      ┃
    ┕━━━━━━━━━━━━━━━━━┙
    存储过程:
    ALTER PROCEDURE dbo.finddata
    (
    @name char(16),
    @psw char(16) OUTPUT
    )AS
    select username=@name from login where userpassword=@psw
    RETURN 提交按钮的Click事件为:
    cn.Open();
    cmd.Parameters["@name"].Value=userid.Text;
    cmd.Parameters["@psw"].Value=userpsw.Text;
    cmd.ExecuteScalar();
    string name,password;
    name=Convert.ToString(cmd.Parameters["@name"].Value);
    password=Convert.ToString(cmd.Parameters["@psw"].Value);
    if (name.Trim()==userid.Text.Trim() && password.Trim()==userpsw.Text.Trim())
    {
    MessageBox.Show("正确");
    }
    else
    {
    MessageBox.Show("错误");
    }
     
    cn.Close();
    以上是我问老师,老师讲的,可是我运行的时候觉得有好多错误的地方呀,根本就不能达到效果,请各位帮帮忙,小弟感恩不尽。
      

  8.   

    写个经典的
    sqlconnection sqlcon = new sqlconnection("server=.;database=...;uid=sa;pwd=;");
    sqlcommand sqlcmd = new sqlcommand("select count(*) from 表名 where userid='"+TextBox1.Text.Replace("'","''")+"',userpassword='"+TextBox2.Text.Replace("'","''")"'",sqlcon);//之所有Replace是防止用 ' or '1=1-- 进入,各位可以试一下
    int count=Convert.ToInt32(sqlcmd.ExecuteScalar());
    sqlcon.Open();
    if(count>0)
    {
        MessageBox.Show("登陆成功!");
    }
    else
    {
        MessageBox.Shwo("用户名或密码输入错误!");
    }
      

  9.   

    楼上的厉害...偶又学到一招了...原来Sql语句里的and是可以用逗号代替的哈????呵呵 ^_^