未将对象引用设置到对象的实例。
说明: 执行当前 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()
说明: 执行当前 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()
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());
你的selectcommand、updatecommand,deletecommand都需要new command
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`出现这种错误,通常是因为对象没有实例化(没有分配内存空间),或者出现了空值。就像楼上说的,selectcommand、updatecommand,deletecommand等等只要不是简单数据类型,
都需要new一下。
另外this.Request.QueryString["Title"].tostring()是否存在
~
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());我试了,还是不行!
this.MyConn.sqlDataAdapter2.SelectCommand.Parameters.Add("@Title", SqlDbType.VarChar, 80).Value = this.Request.QueryString["Title"].ToString();另外,你的Request.QueryString["Title"]是多少啊?有值么?用string str = Request.QueryString["Title"]跟踪一下看看
Label1=this.Request.QueryString["Title"].ToString());
怎么会读不出来呢?
是不是我的数据库链接有问题?
因为我用了一个组件类。它里边的一些属性我有时候点的时候,它就显示数据库链接不上,我必须重新试一次才能连接上。
Label1=this.Request.QueryString["Title"].ToString());
怎么会读不出来呢?
是不是我的数据库链接有问题?
因为我用了一个组件类。它里边的一些属性我有时候点的时候,它就显示数据库链接不上,我必须重新试一次才能连接上。--------------------------------
首先应为Label1.Text=this.Request.QueryString["Title"].ToString());
其次,Request.QueryString["Title"].ToString有没有值跟数据库没关系,是你上一个页面没有传过来
Label1.Text=this.Request.QueryString["Title"].ToString();
但显示的错误还是“未将对象引用到实例”
没有读出Title的值!
那就是this.Request.QueryString["Title"]的问题啦,不是this.Request为null就是this.Request.QueryString为null ,你debug一下就知道了
因为我是新手,刚开始学,所以对好多工具都不会用。