日期:2014-05-18  浏览次数:20472 次

小问题,解决即结贴!!!


异常详细信息:   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) + " ' ");