未将对象引用设置到对象的实例。

a285921021 2008-09-15 10:14:22
代码红色部分抱错(未将对象引用设置到对象的实例) ,追踪dataset,发现返回值也是null,很急的一个问题,希望高手帮解决下
public DataSet returnDS(out int paleta)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["ad_518"]);
conn.Open();
SqlDataAdapter sdr = new SqlDataAdapter("GetRecordFromPage", conn);
sdr.SelectCommand.CommandType = CommandType.StoredProcedure;
sdr.SelectCommand.Parameters.Add("@tbname", SqlDbType.VarChar, 255).Value = "smallclasser";
sdr.SelectCommand.Parameters.Add("@FieldShow", SqlDbType.VarChar, 255).Value = "";
sdr.SelectCommand.Parameters.Add("@FieldKey", SqlDbType.VarChar, 255).Value = "id";
sdr.SelectCommand.Parameters.Add("@FieldOrder", SqlDbType.VarChar, 255).Value = " id desc";
sdr.SelectCommand.Parameters.Add("@pageSize", SqlDbType.Int, 4).Value = "15";
sdr.SelectCommand.Parameters.Add("@PageCurrent", SqlDbType.Int, 4).Value = "7";


sdr.SelectCommand.Parameters.Add("@Where", SqlDbType.VarChar, 2000).Value = "id>1000";
sdr.SelectCommand.Parameters.Add("@PageCount", SqlDbType.Int, 4).Direction = ParameterDirection.Output;

DataSet ds = new DataSet();
paleta = Convert.ToInt32(sdr.SelectCommand.Parameters["@PageCount"].Value.ToString());
sdr.Fill(ds);
return ds;
}
void Gbind()
{
int pageno=1;
int pagesize = 10;
try
{
if (Request.QueryString["pageno"] == "" || Request.QueryString["pageno"] == null)
{
pageno = 1;
}
else
{
pageno = Convert.ToInt32(Request.QueryString["pageno"]);
}
}
catch
{
pageno = 1;
}

int paleta;
this.GridView1.DataSource = returnDS(out paleta);
Response.Write(paleta);
this.GridView1.DataBind();

}
...全文
95 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaolei1982 2008-09-15
  • 打赏
  • 举报
回复
那就恭喜楼主了
a285921021 2008-09-15
  • 打赏
  • 举报
回复
我明白了,原来把 paleta = Convert.ToInt32(sdr.SelectCommand.Parameters["@PageCount"].Value.ToString());
sdr.Fill(ds);这两句换下位置问题就解决了
蓝色木 2008-09-15
  • 打赏
  • 举报
回复
首先确定存储过程是否传出数值
然后最好先声明参数
sqlParameter p=new sqlParameter
ZengHD 2008-09-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yanlongwuhui 的回复:]
引用楼主 a285921021 的帖子:
if (Request.QueryString["pageno"] == "" || Request.QueryString["pageno"] == null)
{
pageno = 1;
}
else
{
pageno = Convert.ToInt32(Request.QueryString["pageno"]);
}

楼主自己不是有这意识嘛,怎么忘了先判断呢
[/Quote]

这个好像判断反了吧,是不是应该先判断null再判断""呢?
yanlongwuhui 2008-09-15
  • 打赏
  • 举报
回复
[Quote=引用楼主 a285921021 的帖子:]
if (Request.QueryString["pageno"] == "" || Request.QueryString["pageno"] == null)
{
pageno = 1;
}
else
{
pageno = Convert.ToInt32(Request.QueryString["pageno"]);
}
[/Quote]
楼主自己不是有这意识嘛,怎么忘了先判断呢
a285921021 2008-09-15
  • 打赏
  • 举报
回复
追踪到也是引发了个什么NULL异常,这是怎么回事啊,怎么会取不到值呢
ZengHD 2008-09-15
  • 打赏
  • 举报
回复
先判断sdr.SelectCommand.Parameters["@PageCount"]是不是为null啊
网络孤魂 2008-09-15
  • 打赏
  • 举报
回复
查一下sdr.SelectCommand.Parameters["@PageCount"].Value的值是否为null
或者sdr.SelectCommand.Parameters["@PageCount"]的值为null

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧