小问题,解决即结贴!!!
异常详细信息: System.NullReferenceException:
未将对象引用设置到对象的实例。
源错误:
行 27: OleDbDataReader odr;
行 28: odr = WebFunction.dataReader( "select upwd from admin where uname= ' " + WebFunction.safeForm(txtuser) + " ' ");
行 29: if (odr.Read())
行 30: {
行 31: if (odr[0].ToString() == txtpwd)
源文件: e:\test\mynet\admin\login.aspx.cs 行: 29
------解决方案--------------------odr is null
跟踪-->
WebFunction.dataReader( "select upwd from admin where uname= ' " + WebFunction.safeForm(txtuser) + " ' ")
------解决方案--------------------WebFunction.dataReader()里面肯定有问题。
------解决方案--------------------WebFunction.dataReader()内设断点,看看为什么odr的值是null
------解决方案--------------------不明白你为什么这么验证,不能 select * from admin where uname= ' " + WebFunction.safeForm(txtuser) + " ' and upassword= ' "+WebFunction.safeForm(txtuser)+ " '
------解决方案--------------------行 28: odr = WebFunction.dataReader( "select upwd from admin where uname= ' " + WebFunction.safeForm(txtuser) + " ' ");
================================================
这行有问题!
------解决方案--------------------(odr.Read()) 调下这东西返回的什么值?
------解决方案--------------------odr[0]改成odr[ "upwd "]
再加一个判断
if (odr[0] != DBNull)
{
if (odr[0].ToString() == txtpwd)
{
}
}
---------------------------------------------
EMail:bdbox@163.com 请给我一个与您交流的机会!
------解决方案--------------------是不是没实例化..
OleDbDataReader odr =new OleDbDataReader ();
------解决方案--------------------没有connection.
------解决方案--------------------单步调试看你的public static OleDbDataReader dataReader(string sqlstr)
{
OleDbDataReader dr = null;
try
{
openConnection();
comm.CommandText = sqlstr;
comm.CommandType = CommandType.Text;
dr = comm.ExecuteReader(CommandBehavior.CloseConnection);
}
catch
{
try
{
dr.Close();
closeConnection();
}
catch
{
}
}
return dr;
}
能否执行成功!
------解决方案--------------------WebFunction.dataReader( "select upwd from admin where uname= ' " + WebFunction.safeForm(txtuser) + " ' ");