错误“对象引用未设置为对象的实例”。
问题描述:
protected void Page_Load(object sender, EventArgs e)
{
string query = "SELECT Posts.*, Import_Export.* FROM Import_Export INNER JOIN Posts ON Import_Export.CatID = Posts.CatID where [email protected] ";
if (Request.QueryString["CID"] != null)
{
query += " and [email protected]";
SqlDataSource2.SelectCommand = query;
SqlDataSource2.SelectParameters["Parent"].DefaultValue = Request.QueryString["Type"].ToString();
SqlDataSource2.SelectParameters["CatID"].DefaultValue = Request.QueryString["CID"].ToString();
}
else
{
SqlDataSource2.SelectCommand = query;
SqlDataSource2.SelectParameters["Parent"].DefaultValue = Request.QueryString["Type"].ToString();
}
}
喜
我写这篇文章的代码,当我运行下面错误的代码中出现了:
对象引用不设置到对象的实例。错误“对象引用未设置为对象的实例”。
为什么?
答
要在这里总结一下就是它应该是什么样子
SqlDataSource2.SelectCommand.Parameters.Add("Parent", System.Data.SqlDbType.NVarChar);
SqlDataSource2.SelectCommand.Parameters["Parent"].Value = Request.QueryString["Type"].ToString();
OR
SqlDataSource2.SelectCommand.Parameters.AddWithValue("Parent",Request.QueryString["Type"].ToString());
+1
我写了这段代码,它的工作原理如下:\t \t \t'SqlDataSource2.SelectParameters.Add(“Parent”,Request.QueryString [“Type”]。ToString());'' – 2013-04-23 12:40:54
答
试试这个
protected void Page_Load(object sender, EventArgs e)
{
string query = "SELECT Posts.*, Import_Export.* FROM Import_Export INNER JOIN Posts ON Import_Export.CatID = Posts.CatID where [email protected] ";
if (Request.QueryString != null)
{
Parameter par = new Parameter("@Parent", DbType.String, Request.QueryString["Type"].ToString());
SqlDataSource2.SelectParameters.Add(par);
if (Request.QueryString["CID"] != null)
{
query += " and [email protected]";
SqlDataSource2.SelectCommand = query;
Parameter par2 = new Parameter("@CatID", DbType.String, Request.QueryString["CID"].ToString());
SqlDataSource2.SelectParameters.Add(par2);
}
else
{
SqlDataSource2.SelectCommand = query;
}
}
}
哪里是你的SqlDataSource2 instatiated?它是否意味着是一个SqlDataAdapter? – Constanta 2013-04-23 11:35:13
@Constanta:在我写我的代码的同一页。 – 2013-04-23 11:38:41
好吧,你跳过那一点。它看起来像这样SqlDataAdapter SqlDataSource2 = new SqlDataAdapter(); – Constanta 2013-04-23 11:40:05