C# winform水晶报表调存储过程和传参例子?

哪位有没有源码,我看了几个博客都没有测试成功... 哪位有没有源码,我看了几个博客都没有测试成功 展开
 我来答
百度网友ce7f3ccb4
2014-02-25 · TA获得超过1950个赞
知道大有可为答主
回答量:2299
采纳率:0%
帮助的人:1907万
展开全部
第一步:添加一个dataset组件,然后拖放一个dataadpter,根据提示选择现有存储过程,保存
第二布:新建一个水晶报表文件,根据报表向导创建选择显示的字段和布局(注意:选择ado.net下的数据集)
第三布:将工程文件夹下有一个xxx.rpt的文件,复制其路径,
第四步:加载xxx.rpt文件,如下形式:
ReportDocument report = new ReportDocument();//创建文档对象
report.Load(path);//加载报表->path是rpt文件的路径
SqlConnection connection = new SqlConnection(ApplicationAssist.ConnectionString)
connection.Open();
DataSet ds= new DataSet();
SqlDataAdapter sqlDA = new SqlDataAdapter();
//调用存储过程获得数据集
SqlCommand command = new SqlCommand(storedProcName, connection);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddRange(parameters);--这个是存储过程的参数赋值,网上有
sqlDA.Fill(ds, "tableName");

connection.Close();
report.SetDataSource(ds.Tables[0]);//设置报表的数据源->ds是你在程序中查询出来的dataset集合,注意这里的存储过程要与你的报表所指定的过程对应哦!
if (ht != null)--这里是外部参数赋值,按需要而定,跟数据库字段无关
{
foreach (DictionaryEntry de in ht)
{
report.SetParameterValue(de.Key.ToString(), de.Value);
}
}

CRV.ReportSource = report;//显示报表
denveryang3633
2014-02-24 · TA获得超过266个赞
知道小有建树答主
回答量:342
采纳率:0%
帮助的人:155万
展开全部
啊啊啊啊啊,为什么还有这么多人要去用水晶报表啊…………微软要哭了,自己免费的效率更高的reportviewer居然这么少人用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式