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

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

好吧。

把存储过程写好:

CREATE PROCEDURE [dbo].[usp_File_Select]
AS
SELECT [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。还没有成功,还得继续努力:

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

时间: 2024-11-07 20:48:57

RDLC报表显示存储于数据库的图片的相关文章

如何在jsp页面显示存储在数据库的图片

1.从数据库中查找图片的二进制数据,把查找出来的数据set到会话中 request.getSession().setAttribute("img",图片的二进制数据 ); 2.把数据write到流里 1 package cn.jbit.auction.web.servlet; 2 3 import java.io.IOException; 4 5 import javax.servlet.ServletException; 6 import javax.servlet.http.Htt

ASP.NET中让图片以二进制的形式存储在数据库中

今早有个网友问到我这问题,以前我都是直接在数据库中存文件名的,还没有试过存储整张图片到数据库中,上网搜索了一下,自己又测试了一番,代码如下:建立保存图片的表的SQL语句: Sql代码   USE [niunantest] GO /****** 对象:  Table [dbo].[picdata]    脚本日期: 03/30/2010 14:51:58 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [d

C# RDLC报表不出现预览窗体直接输出到打印机

#region 直接打印区域 /// <summary> /// 直接打印到打印机 /// </summary> /// <param name="reportFullFileName"></param> /// <param name="reportTitle"></param> /// <param name="reportDSTable1"></par

RDLC报表:每页显示N条记录

摘要: 提供一种方案,使分页浏览的报表每页显示固定条数记录,最后一页记录条数不足的,用空行补齐. 示例: 记录共7条,每页显示5条记录: 下载代码(vs2008,需要安装AdventureWorks数据库) 下载代码(vs2008,不需要数据库支持) 下载代码(仅rdlc报表定义文件) 原理: 由于表的分组包含“在起始处分页”和”在结束处分页”的功能,所以我们考虑先将数据分成若干个记录条数为N的组, 再启用“在结束处分页”的功能. 那么,如何分组呢?考虑记录的下标为 0,1,2,3... 的自然

关于Rdlc报表无浏览打印 图片

1.创建一个将图片转化成字节数组的方法 /// <summary> /// 将图片转成字节数组 /// </summary> /// <param name="bitmap">图片</param> /// <returns></returns> private byte[] BitmapToBytes(Bitmap bitmap) { MemoryStream ms = null; try { ms = new M

C#(WinForm)上传图片保存到数据库和从数据库读取图片显示到窗体

1 //浏览图片 2 3 private void btnUp_Click(object sender, EventArgs e) 4 5 { 6 7 OpenFileDialog ofd = new OpenFileDialog(); 8 9 ofd.Title = "选择要上传的图片"; 10 11 ofd.Filter = "All Files(*.*)|*.*|位图(*.bmp)|*.bmp|JPEG(*.jpg)|*.jpg"; 12 13 ofd.Sho

问卷过程_将编辑好的问卷(存储在数据库中)显示在浏览器中

首先要了解数据的设计,也就是数据室怎么存储在数据库中的. 先来看一个最简单的问卷的构成吧 可以看到大概的结构是:『标题:标题内容标题说明.题目:题目编号,题目内容.选项:选项类型,选项编号,选项内容』.提交:提交按钮.其中『』内的元素就是需要存储到数据库中的. 可以想一下:一张表示是否可以存储一张问卷呢?这应该是可以的但是一个表不应该只能存储一张问卷吧,要不然太浪费资源了. 数据库的设计应该是怎样的呢: 首先:整体的问卷基本信息要有:问卷的编号(我们通过链接把我们的问卷发给别人来填写的话,要唯一

DevExpress的XtraReport和微软RDLC报表的使用和对比

原文:DevExpress的XtraReport和微软RDLC报表的使用和对比 我们开发程序的时候,经常会碰到一些报表,如果是Winform的报表,一般可以采用DevExpress控件组的XtraReport,或者微软的RDLC报表,当然还有一些其他的,在此不再赘述.由于本人在Winform开发中经常使用到一些报表,有时候使用XtraReport报表,有时候也使用RDLC报表,因此本篇主要介绍这两种不同类型报表的使用,以及对比它们的差异性,以便我们更好的掌握了解. 1.XtraReport报表的

VSTO 学习笔记(六)在 Excel 2010中使用RDLC报表

原文:VSTO 学习笔记(六)在 Excel 2010中使用RDLC报表 Excel具有强大的图表显示.分析功能,这点毋庸置疑,但是如果将常规MIS系统中的数据以报表的形式在Excel中显示,却并不那么容易.在VSTO中,我们可以借助RDLC报表组件来满足这种需求. 示例代码下载 本系列所有示例代码均在 Visual Studio 2010 Ultimate RTM + Office 2010 Professional Plus Beta x64 下测试通过 注:本次数据库使用的是 SQL Se