//单步执行到if(Reader.Read())时Reader.Read()为false,没有进入if内
//但连续执行时,if内的代码被执行了,说明Reader.Read()为true
//我确定代码没有问题而且数据库可以查到要找的值,因为我换了其它人的编译器
//都可以正常单步进入if内,我以为是DEBUG出了问题修复和重装.NET我都试了,也无济于世.
//我觉得可能是哪个地方设置有问题,急切盼望高人帮忙!
public static User GetUser(int UserID)
{
SqlConnection con = null;
SqlCommand cmd = null;
string s = System.Configuration.ConfigurationSettings.AppSettings["jzg"];
try
{
con = new SqlConnection(s);
cmd = new SqlCommand("SELECT * FROM Users WHERE ( Id = " + UserID + ")",con);
con.Open();
SqlDataReader Reader = cmd.ExecuteReader();
if(Reader.Read())//此处单步时为false
{
User thisuser = new User();
thisuser.ID = int.Parse(Reader["Id"].ToString().Trim());
thisuser.NAME = Reader["UserName"].ToString().Trim();
thisuser.PASSWORD = InfoPP.SystemManage.UserDbManager.Decrypt3DES(Reader["UserPsw"].ToString().Trim(),"CERESOFT");
thisuser.TRUENAME = Reader["TrueName"].ToString().Trim();
thisuser.PSWQUESTION = Reader["PswQuestion"].ToString().Trim();
thisuser.PSWANSWER = Reader["PswAnswer"].ToString().Trim();
thisuser.EMAIL = Reader["Email"].ToString().Trim();
thisuser.ADDTIME = Reader["AddTime"].ToString().Trim();
thisuser.UPDATETIME = Reader["UpdateTime"].ToString().Trim();
thisuser.LOGINCOUNT = int.Parse(Reader["LoginCount"].ToString().Trim());
thisuser.INTERIOR = Reader["IsInterior"].ToString().Trim();
thisuser.STATE = Reader["State"].ToString().Trim();
thisuser.AUDITING = Reader["Auditing"].ToString().Trim();
thisuser.RightsOfRead = int.Parse(Reader["RightsOfRead"].ToString().Trim());
Reader.Close();
return thisuser;
}
else
{
return null;
}
}
catch(Exception ex)
{
System.Console.Write(ex.Message);
return null;
}
finally
{
cmd.Dispose();
con.Close();
}
}
//但连续执行时,if内的代码被执行了,说明Reader.Read()为true
//我确定代码没有问题而且数据库可以查到要找的值,因为我换了其它人的编译器
//都可以正常单步进入if内,我以为是DEBUG出了问题修复和重装.NET我都试了,也无济于世.
//我觉得可能是哪个地方设置有问题,急切盼望高人帮忙!
public static User GetUser(int UserID)
{
SqlConnection con = null;
SqlCommand cmd = null;
string s = System.Configuration.ConfigurationSettings.AppSettings["jzg"];
try
{
con = new SqlConnection(s);
cmd = new SqlCommand("SELECT * FROM Users WHERE ( Id = " + UserID + ")",con);
con.Open();
SqlDataReader Reader = cmd.ExecuteReader();
if(Reader.Read())//此处单步时为false
{
User thisuser = new User();
thisuser.ID = int.Parse(Reader["Id"].ToString().Trim());
thisuser.NAME = Reader["UserName"].ToString().Trim();
thisuser.PASSWORD = InfoPP.SystemManage.UserDbManager.Decrypt3DES(Reader["UserPsw"].ToString().Trim(),"CERESOFT");
thisuser.TRUENAME = Reader["TrueName"].ToString().Trim();
thisuser.PSWQUESTION = Reader["PswQuestion"].ToString().Trim();
thisuser.PSWANSWER = Reader["PswAnswer"].ToString().Trim();
thisuser.EMAIL = Reader["Email"].ToString().Trim();
thisuser.ADDTIME = Reader["AddTime"].ToString().Trim();
thisuser.UPDATETIME = Reader["UpdateTime"].ToString().Trim();
thisuser.LOGINCOUNT = int.Parse(Reader["LoginCount"].ToString().Trim());
thisuser.INTERIOR = Reader["IsInterior"].ToString().Trim();
thisuser.STATE = Reader["State"].ToString().Trim();
thisuser.AUDITING = Reader["Auditing"].ToString().Trim();
thisuser.RightsOfRead = int.Parse(Reader["RightsOfRead"].ToString().Trim());
Reader.Close();
return thisuser;
}
else
{
return null;
}
}
catch(Exception ex)
{
System.Console.Write(ex.Message);
return null;
}
finally
{
cmd.Dispose();
con.Close();
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货