为了账号安全,请及时绑定邮箱和手机立即绑定

RDLC报表显示存储于数据库的图片

标签:
Html/CSS

图片以二进制存储于数据库表中。在显示RDLC报表时,把图片呈现出来。

好吧。

把存储过程写好:

CREATE PROCEDURE [dbo].[usp_File_Select]ASSELECT [Afd_nbr],[Picture],[PictureType],[FileExtension] FROM [dbo].[ApiFileDemo]GO

Source Code

 

在网站中,创建一个实体,是程序从数据库获取数据:


 public DataTable GetFiles()        {            sp.ConnectionString = DB.SqlConnectionString();            sp.Parameters = null;            sp.ProcedureName = "usp_File_Select";            return sp.ExecuteDataSet().Tables[0];        }

Source Code



为站点添加一个rdlc报表,参考下面步骤:


 
细节如下:
在报表视图中,添加Table:


 

 为表格选择数据字段:

 

报表设计完成。现在创建一个ASPX网页来呈现这个RDLC报表:


紧跟下来,是在ASPX.cs写程序:

 

 private void Data_Binding()    {        this.ReportViewer1.Reset();        this.ReportViewer1.LocalReport.Dispose();        this.ReportViewer1.LocalReport.DataSources.Clear();        Microsoft.Reporting.WebForms.ReportDataSource rds = new Microsoft.Reporting.WebForms.ReportDataSource();        rds.Name = "FileDataSet";        FileEntity fe = new FileEntity();        rds.Value = fe.GetFiles();        this.ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Rdlc/ImageRpt.rdlc");        this.ReportViewer1.LocalReport.DataSources.Add(rds);        this.ReportViewer1.LocalReport.Refresh();    }

Source Code

 

预览一下看看结果如何:

 


数据没有显示出来,一直不停在Loading...

看来我们写少了程序,Insus.NET修改一下吧:

 


哈,哈,显示出来了:

 

虽然数据显示出来,但是在第二列中,图片没有显示,却显示#Error。还没有成功,还得继续努力:


最后看到想要的结果,图片显示出来了:

 

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消