写一个全局CLASS,里面存入用户得信息(登录时),如ID、LOGINTIME、NAME等。
然后引用就行了。

解决方案 »

  1.   

    ??现在比较安全的方法是让用户输入,在后台通过查询数据库中是否有相同的纪录来判断登陆的合法性
    select cout(*) from table where pass = 'pass' and name ='name'
      

  2.   

    修改 oledbCommand 对象的 sql语句,然后重新Fill oleDbDataAdapter对象 把它检索出来就成了
      

  3.   

    BTW ,TO: ju_feng(NorthSky)
    我认为安全的方法应该是把密码检索出来,通过判断用户输入的密码和数据库中的是否一致来判断登录的合法性,而不是判断是否有相同的记录来进行。
      

  4.   

    请zhangbat(jim.) 网友,具体说说。而且,我使用的是SQL Server 数据库。
    我觉的应该判断“一致性”。
      

  5.   

    我对你的这个问题不是很了解,我个人理解好像是
    1.你在界面接收用户输入的用户名和密码,然后和数据库中的数据进行比较
    2.如果比较通过了,就把这个用户的信息显示在DataGrid中(难道这个DataGrid只做这一件事?)如果是上面的意思的话你可以这样:
    1.根据用户的名称以及其它信息(当然不包括密码信息)取得用户的密码
    2.如果登录成功就把这条信息显示在DataGrid中,下面我简单说一下代码,可行的代码有很多种的,具体ADO.net的使用你还是看书比较好  方法是老一套:
    //判断用户的登录是否有效,如果有效就把登录信息保存在Session中
    string strName,strPass;
    strName = txtName.Text.Trim();
    strPass = txtPass.Text.Trim();//取得连接参数
    string strConnection = "你自己的连接参数";
    //连接对象
    OleDbConnection objConnection = new OleDbConnection(strConnection);
    //SQL语法
    string strSQL= "select dwh,user_id,gwbh,gwmc,user_level,password from users where user_name = '" + strName + "'";
    //打开连接执行这个SQL语法
    OleDbCommand objCommand = new OleDbCommand(strSQL,objConnection);
    OleDbDataReader objDataReader = null;
    objConnection.Open(); 
    objDataReader = objCommand.ExecuteReader();                                                      if(objDataReader.Read())
    {
    string strComPass = (string)objDataReader["password"];                                      if(strPass == strComPass)
    {
    //成功允许登录
    //在DataGrid中显示这条记录
    DataGrid1.DataSource = objDataReader;
    DataGrid1.DataBind();
    }

      

  6.   

    zhangbat(jim.) 你好:
    我还是不太明白你的代码。我把我的代码写在下面:请指点。private void LogButton_Click(object sender, System.EventArgs e)
      {    
    string userid,pwd;
    userid=Userid.Text.Trim();
    pwd=Pwd.Text.Trim();   
    string mySel="SELECT count(*) as iCount from Employee where LoginName=@myID";    
    SqlCommand myCmd1=new SqlCommand(mySel,myConnection);
    myCmd1.Parameters.Add(new SqlParameter("@myID",SqlDbType.VarChar,20));
    myCmd1.Parameters["@myID"].Value=userid;
    myCmd1.Connection.Open();
    SqlDataReader Dr1;
    Dr1=myCmd1.ExecuteReader();
    Dr1.Read();
    string Count=Dr1["iCount"].ToString();
    Dr1.Close();
    myCmd1.Connection.Close();

      
    if(Count!="0")
    {
    pwd=Pwd.Text.Trim();   
    string mySelect="SELECT Password,LoginName from Employee where LoginName=@myName";    
    SqlCommand myCmd=new SqlCommand(mySelect,myConnection);
    myCmd.Parameters.Add(new SqlParameter("@myName",SqlDbType.VarChar,20));
    myCmd.Parameters["@myName"].Value=userid;
                   myCmd.Connection.Open();
                   SqlDataReader Dr;
                   Dr=myCmd.ExecuteReader();
                   Dr.Read();
                   //DrPwd=Dr["Password"].ToString();
    string mystr,mystrName;
    mystr=Dr["password"].ToString();
    mystrName=Dr["LoginName"].ToString(); //Response.Write("!"+pwd+"!"+mystr);
    //Response.Write((mystr==pwd));              
      
    if(mystr.Equals(pwd))
    {
    Session["logid"]=userid;//新建一个Session   
    Session["logName"]=mystrName;
    Response.Redirect("./WebForm2.aspx");
    //Response.Write("!!!!!!!!");
      
    }
    else
    {
    Msg.Text="登录密码错.";   
    }
    Dr.Close();  
       
    }
    else
              Msg.Text="没有这个用户.";
      }