提示“未将对象引用到实例”是哪出错了!请各位帮帮忙了!谢了!

时间:2022-09-05 21:44:13
未将对象引用设置到对象的实例。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误: 


行 25:  {
行 26:          this.MyConn.sqlDataAdapter2.SelectCommand.CommandText="select * from News where Title like '%' + @Title + '%'";
行 27:  this.MyConn.sqlDataAdapter2.SelectCommand.Parameters.Add("@Title",this.Request.QueryString["Title"].ToString());
行 28:  this.MyConn.sqlDataAdapter2.SelectCommand.Connection.Open();
行 29:  this.MyConn.sqlDataAdapter2.SelectCommand.ExecuteNonQuery();
 

源文件: d:\asp.net\newspublish\find.aspx.cs    行: 27 

堆栈跟踪: 


[NullReferenceException: 未将对象引用设置到对象的实例。]
   NewsPublish.find.Page_Load(Object sender, EventArgs e) in d:\asp.net\newspublish\find.aspx.cs:27
   System.Web.UI.Control.OnLoad(EventArgs e)
   System.Web.UI.Control.LoadRecursive()
   System.Web.UI.Page.ProcessRequestMain()

 

24 个解决方案

#1


改成
this.MyConn.sqlDataAdapter2.SelectCommand= new SqlCommand( "select * from News where Title like '%' + @Title + '%'");
  this.MyConn.sqlDataAdapter2.SelectCommand.Parameters.Add("@Title",this.Request.QueryString["Title"].ToString());

#2


同意楼上的
你的selectcommand、updatecommand,deletecommand都需要new command

#3


应该是selectCommand没有new

#4


this.Request.QueryString["Title"]是否存在

#5


异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`

出现这种错误,通常是因为对象没有实例化(没有分配内存空间),或者出现了空值。

就像楼上说的,selectcommand、updatecommand,deletecommand等等只要不是简单数据类型,
都需要new一下。

#6


new command

#7


selectcommand、updatecommand,deletecommand都需要new command
另外this.Request.QueryString["Title"].tostring()是否存在

#8


Request.QueryString["Title"]可能没有接收到任何东西。

#9


应该是this.Request.QueryString["Title"]的问题吧.如果是selectcommand没有实例化的话,26行应该也会错啊

#10


楼主执行SQL 怎么直接用DataAdapter啊,这样的方式不是很常见哦

#11


re

#12


你们说的方法:换成
this.MyConn.sqlDataAdapter2.SelectCommand= new SqlCommand( "select * from News where Title like '%' + @Title + '%'");
  this.MyConn.sqlDataAdapter2.SelectCommand.Parameters.Add("@Title",this.Request.QueryString["Title"].ToString());

我试了,还是不行!

#13


试试
this.MyConn.sqlDataAdapter2.SelectCommand.Parameters.Add("@Title", SqlDbType.VarChar, 80).Value = this.Request.QueryString["Title"].ToString();

另外,你的Request.QueryString["Title"]是多少啊?有值么?用string str = Request.QueryString["Title"]跟踪一下看看

#14


我试了一下,加了一个Label,但读不出来Title的值。我用的是:
Label1=this.Request.QueryString["Title"].ToString());
怎么会读不出来呢?
是不是我的数据库链接有问题?
因为我用了一个组件类。它里边的一些属性我有时候点的时候,它就显示数据库链接不上,我必须重新试一次才能连接上。

#15


应为Label1.Text=this.Request.QueryString["Title"].ToString());

#16


我试了一下,加了一个Label,但读不出来Title的值。我用的是:
Label1=this.Request.QueryString["Title"].ToString());
怎么会读不出来呢?
是不是我的数据库链接有问题?
因为我用了一个组件类。它里边的一些属性我有时候点的时候,它就显示数据库链接不上,我必须重新试一次才能连接上。

--------------------------------
首先应为Label1.Text=this.Request.QueryString["Title"].ToString());
其次,Request.QueryString["Title"].ToString有没有值跟数据库没关系,是你上一个页面没有传过来

#17


我用的是
Label1.Text=this.Request.QueryString["Title"].ToString();
但显示的错误还是“未将对象引用到实例”
没有读出Title的值!

#18


实例化

#19



那就是this.Request.QueryString["Title"]的问题啦,不是this.Request为null就是this.Request.QueryString为null ,你debug一下就知道了

#20


怎样debug?
因为我是新手,刚开始学,所以对好多工具都不会用。

#21


谢谢各位,请大家继续帮我!

#22


对象为空

#23


re

#24


大家帮帮忙了!

#1


改成
this.MyConn.sqlDataAdapter2.SelectCommand= new SqlCommand( "select * from News where Title like '%' + @Title + '%'");
  this.MyConn.sqlDataAdapter2.SelectCommand.Parameters.Add("@Title",this.Request.QueryString["Title"].ToString());

#2


同意楼上的
你的selectcommand、updatecommand,deletecommand都需要new command

#3


应该是selectCommand没有new

#4


this.Request.QueryString["Title"]是否存在

#5


异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`

出现这种错误,通常是因为对象没有实例化(没有分配内存空间),或者出现了空值。

就像楼上说的,selectcommand、updatecommand,deletecommand等等只要不是简单数据类型,
都需要new一下。

#6


new command

#7


selectcommand、updatecommand,deletecommand都需要new command
另外this.Request.QueryString["Title"].tostring()是否存在

#8


Request.QueryString["Title"]可能没有接收到任何东西。

#9


应该是this.Request.QueryString["Title"]的问题吧.如果是selectcommand没有实例化的话,26行应该也会错啊

#10


楼主执行SQL 怎么直接用DataAdapter啊,这样的方式不是很常见哦

#11


re

#12


你们说的方法:换成
this.MyConn.sqlDataAdapter2.SelectCommand= new SqlCommand( "select * from News where Title like '%' + @Title + '%'");
  this.MyConn.sqlDataAdapter2.SelectCommand.Parameters.Add("@Title",this.Request.QueryString["Title"].ToString());

我试了,还是不行!

#13


试试
this.MyConn.sqlDataAdapter2.SelectCommand.Parameters.Add("@Title", SqlDbType.VarChar, 80).Value = this.Request.QueryString["Title"].ToString();

另外,你的Request.QueryString["Title"]是多少啊?有值么?用string str = Request.QueryString["Title"]跟踪一下看看

#14


我试了一下,加了一个Label,但读不出来Title的值。我用的是:
Label1=this.Request.QueryString["Title"].ToString());
怎么会读不出来呢?
是不是我的数据库链接有问题?
因为我用了一个组件类。它里边的一些属性我有时候点的时候,它就显示数据库链接不上,我必须重新试一次才能连接上。

#15


应为Label1.Text=this.Request.QueryString["Title"].ToString());

#16


我试了一下,加了一个Label,但读不出来Title的值。我用的是:
Label1=this.Request.QueryString["Title"].ToString());
怎么会读不出来呢?
是不是我的数据库链接有问题?
因为我用了一个组件类。它里边的一些属性我有时候点的时候,它就显示数据库链接不上,我必须重新试一次才能连接上。

--------------------------------
首先应为Label1.Text=this.Request.QueryString["Title"].ToString());
其次,Request.QueryString["Title"].ToString有没有值跟数据库没关系,是你上一个页面没有传过来

#17


我用的是
Label1.Text=this.Request.QueryString["Title"].ToString();
但显示的错误还是“未将对象引用到实例”
没有读出Title的值!

#18


实例化

#19



那就是this.Request.QueryString["Title"]的问题啦,不是this.Request为null就是this.Request.QueryString为null ,你debug一下就知道了

#20


怎样debug?
因为我是新手,刚开始学,所以对好多工具都不会用。

#21


谢谢各位,请大家继续帮我!

#22


对象为空

#23


re

#24


大家帮帮忙了!