急,急,存储过程输出参数调用问题??

sunboyyun 2009-02-25 11:19:22
public SqlParameter[] DealwithCrimeCount=new SqlParameter[3];
public void GetDealwithCrimCount(DateTime timeStart, DateTime timeEnd)
{
{
DealwithCrimeCount[0] = new SqlParameter("@DealwithCrimeCount1",SqlDbType.Int,4);
DealwithCrimeCount[1] = new SqlParameter("@DealwithCrimeCount2", SqlDbType.Int, 4);
DealwithCrimeCount[2] = new SqlParameter("@DealwithCrimeCount3", SqlDbType.Int, 4);
};
DealwithCrimeCount[0].Direction = ParameterDirection.Output; //为存储过程的输出参数
DealwithCrimeCount[1].Direction = ParameterDirection.Output;
DealwithCrimeCount[2].Direction = ParameterDirection.Output;

DataSet ds = this.dbProcessor.RunProcedure("Cup_Work_GetDealwithCrimecount", DealwithCrimeCount, "GetDealwithCrimeCount");
DataTable dt = ds.Tables["GetDealwithCrimeCount"];
}
其中DealwithCrimeCount[0],DealwithCrimeCount[1],DealwithCrimeCount[2]是存储过程Cup_Work_GetDealwithCrimecount里的输出参数,我将他放在数组DealwithCrimeCount里,现在我想在本页面调用这几个输出参数,怎么写啊??望指教??
...全文
145 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
king19840811 2009-02-25
  • 打赏
  • 举报
回复
上面是dt怎么下面变dt1了
sunboyyun 2009-02-25
  • 打赏
  • 举报
回复
还是同样的错误啊,出现出现未将对象引用设置到对象的实例,望大狭再帮忙看一下啊,什么原因??
king19840811 2009-02-25
  • 打赏
  • 举报
回复
dt1.Rows.Add(new object[] { "合计",DealwithCrimeCount[0].value.ToString() );
sunboyyun 2009-02-25
  • 打赏
  • 举报
回复
但是我在
DataTable dt = new DataTable();
dt1.Columns.Add(new DataColumn("核对方法",typeof(string)));

dt1.Rows.Add(new object[] { "合计",DealwithCrimeCount[0].value );
出现出现未将对象引用设置到对象的实例。什么原因啊??望指教~~
QQQQAnnie 2009-02-25
  • 打赏
  • 举报
回复
楼上的都对。
ljhcy99 2009-02-25
  • 打赏
  • 举报
回复
int Data=(int)DealwithCrimeCount[0].value
king19840811 2009-02-25
  • 打赏
  • 举报
回复
int x=(int)DealwithCrimeCount[0].value
大飞飞虫 2009-02-25
  • 打赏
  • 举报
回复
执行完后,
DealwithCrimeCount[0] 就有值了.
goonfighting 2009-02-25
  • 打赏
  • 举报
回复
直接调用就可以的,数组嘛。
_see_you_again_ 2009-02-25
  • 打赏
  • 举报
回复
听不懂吗 public static SqlParameter[] DealwithCrimeCount=new SqlParameter[3]; 试试看
sunboyyun 2009-02-25
  • 打赏
  • 举报
回复
合计 是行的标题啊,不是这个原因的
_see_you_again_ 2009-02-25
  • 打赏
  • 举报
回复
之所以会出现对象为空是因为你这是asp.net程序,DealwithCrimeCount原本已经返回值,但是由于http是无状态的,当你下次点击按钮时DealwithCrimeCount是全新的一个值.
可考虑将DealwithCrimeCount设为static 或保存在session或每次调用GetDealwithCrimCount,根据你的实际情况。
QQQQAnnie 2009-02-25
  • 打赏
  • 举报
回复
{ "合计",


这是什么意思?
abcyzq 2009-02-25
  • 打赏
  • 举报
回复
呵呵。
sunboyyun 2009-02-25
  • 打赏
  • 举报
回复
public SqlParameter[] DealwithCrimeCount=new SqlParameter[3];
public void GetDealwithCrimCount(DateTime timeStart, DateTime timeEnd)
{
{
DealwithCrimeCount[0] = new SqlParameter("@DealwithCrimeCount1",SqlDbType.Int,4);
DealwithCrimeCount[1] = new SqlParameter("@DealwithCrimeCount2", SqlDbType.Int, 4);
DealwithCrimeCount[2] = new SqlParameter("@DealwithCrimeCount3", SqlDbType.Int, 4);
};
DealwithCrimeCount[0].Direction = ParameterDirection.Output; //为存储过程的输出参数
DealwithCrimeCount[1].Direction = ParameterDirection.Output;
DealwithCrimeCount[2].Direction = ParameterDirection.Output;

DataSet ds = this.dbProcessor.RunProcedure("Cup_Work_GetDealwithCrimecount", DealwithCrimeCount, "GetDealwithCrimeCount");
DataTable dt = ds.Tables["GetDealwithCrimeCount"];
}

protected void btnExcelExport_Click(object sender, ImageClickEventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("核对方法",typeof(string)));

dt.Rows.Add(new object[] { "合计",DealwithCrimeCount[0].value.tostring());
}
未将对象引用设置到对象的实例,望高手指教~~
birdlonger 2009-02-25
  • 打赏
  • 举报
回复
大哥你这样写dt1.Rows.Add(new object[] { "合计",DealwithCrimeCount[0].value ); 编译能通过? 里面的{ 貌似只有一个呢.
QQQQAnnie 2009-02-25
  • 打赏
  • 举报
回复
http://www.cnblogs.com/pengpeng614/archive/2008/08/29/1279720.html
QQQQAnnie 2009-02-25
  • 打赏
  • 举报
回复
整个贴一下代码,看看
sunboyyun 2009-02-25
  • 打赏
  • 举报
回复
误写,还是同样的错误,dt.Rows.Add(new object[] { "合计",DealwithCrimeCount[0].value.ToString() ); 未将对象引用设置到对象的实例

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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