未将对象引用设置到对象的实例。 
说明: 执行当前 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() 

解决方案 »

  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.   

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

  4.   

    异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`出现这种错误,通常是因为对象没有实例化(没有分配内存空间),或者出现了空值。就像楼上说的,selectcommand、updatecommand,deletecommand等等只要不是简单数据类型,
    都需要new一下。
      

  5.   

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

  6.   

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

  7.   

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

  8.   

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

  9.   

    你们说的方法:换成
    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());我试了,还是不行!
      

  10.   

    试试
    this.MyConn.sqlDataAdapter2.SelectCommand.Parameters.Add("@Title", SqlDbType.VarChar, 80).Value = this.Request.QueryString["Title"].ToString();另外,你的Request.QueryString["Title"]是多少啊?有值么?用string str = Request.QueryString["Title"]跟踪一下看看
      

  11.   

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

  12.   

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

  13.   

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

  14.   

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

  15.   


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

  16.   

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