目标:把目前系统直接通过中文姓名(注:username)作为用户名和逻辑关联,增加users表中的UserID,达到以UserID进行登录,并建立逻辑关联的目的。
问题:在数据表添加一个userID,然后把类方法里面的select条件改为userID=...,但当我输入userID的用户名,DataModule.User CurUser=Components.UserSystem.UserByName(this.Text1.Value);这条语句不执行(CurUser为空,运行else子句),但当我输入username的用户名,Components.UserSystem.UserByName(this.Text1.Value);切可以执行,并顺利进入系统。不知道我的思路是否正确?问题出在什么地方呢?请前辈在指点,另外.net2003是否有跟踪调试类文件的方法?login.asp.cs:
private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e){      
   ......
  DataModule.User CurUser=Components.UserSystem.UserByName(this.Text1.Value); //Text1用户名输入框。   if(CurUser!=null)
   {
     if(CurUser.PassWord==this.Password1.Value)
         {
.....
}
else
{
PopUp("密码错误!");
 }
}
else
{
PopUp("密码错误!");
}
}
Components.UserSystem类下面的UserByName方法:
public static User UserByName(string userid)
{
DataTable Data=UserData.GetUserByName(userid); if(Data.Rows.Count>0)
{
User NewUser=new User();
NewUser.Userid=Data.Rows[0]["UserID"].ToString();
NewUser.Name=Data.Rows[0]["UserName"].ToString();
                                 ......
                          }
UserData.GetUserByName方法:
public static DataTable GetUserByName(string userid)
{
string SQL=" SELECT * FROM Users  Where UserID = '"+userid+"'";
SQLDataProc DataProc=new SQLDataProc();
DataTable Reader;
DataProc.Run(SQL,out Reader);
return Reader;
}