Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在SQL Server-C#应用程序的Crystal报表上显示图像_C#_Sql Server 2005_Crystal Reports - Fatal编程技术网

无法在SQL Server-C#应用程序的Crystal报表上显示图像

无法在SQL Server-C#应用程序的Crystal报表上显示图像,c#,sql-server-2005,crystal-reports,C#,Sql Server 2005,Crystal Reports,C#应用程序从文件中浏览图片,并将其作为字节[]上传到sql server 2005数据库。打开表时(使用ManagementStudio),会显示图片字段读取“二进制数据”。当应用程序运行时,除了图片字段外,同一表格中的其他字段都会显示在报告中。在数据库中,图片字段的类型是image。在crystal report上,图片是blob字段。该图像不显示在crystal report上。我使用的是数据集。非常感谢您的帮助 @上校,你想看代码的哪一部分?我使用向导使用数据集创建了一个crystal

C#应用程序从文件中浏览图片,并将其作为字节[]上传到sql server 2005数据库。打开表时(使用ManagementStudio),会显示图片字段读取“二进制数据”。当应用程序运行时,除了图片字段外,同一表格中的其他字段都会显示在报告中。在数据库中,图片字段的类型是image。在crystal report上,图片是blob字段。该图像不显示在crystal report上。我使用的是数据集。非常感谢您的帮助


@上校,你想看代码的哪一部分?我使用向导使用数据集创建了一个crystal报表。数据集基于我在DB中创建的视图,有一个报表管理器对话框,其中有一个组合框,其中填充了先前保存的名称列表。用户从组合框中选择名称并输入显示报告按钮。然后将执行以下代码

    void studyreport()
    {
        DataTable dtindividual = register.studyreport(cmbName.Text);
        DataTable dtfetchpic = register.fetchpic(cmbName.Text);

        byte[] MyData = new byte[0];

        DataRow myRow;
        myRow = dtfetchpic.Rows[0];

        MyData = (byte[])myRow["Picture"];

        MemoryStream stream = new MemoryStream(MyData);

        individual.SetDataSource(dtindividual);

        reportviewer.viewer.ReportSource = individual;
        reportviewer.ShowDialog();
        this.Close();
    }

如果您只需将图像上传到数据库,并将该字段调用到报告中,则在制作图像时可能不会向您输出任何内容,但会在预览中为您提供图像、上载图像、任何类型的图像,并使用该字段将其调用到报告中


更明确地说,您可以将任何图像转换为二进制序列,存储在db中,稍后调用要报告的字段,它将显示您先前转换为二进制的实际图像,

请发布一些代码块(您是如何实现的)。这将有助于识别问题。您正在显示什么样的图像?JPG,PNG,BMP,还有其他的吗?很可能Crystal Reports无法处理某些图像类型。我唯一的经验是使用一个签名板,它可以生成jpeg结构(正确显示)或原始位图数据(根本不显示)。字段类型(image vs varbinary(max))对Crystal Reports不重要。@Arvo-I试图显示JPEG图像。“预览中的图像”是什么意思?我已经上传了二进制图片到数据库。在crystal report向导中,我从数据集中添加了相关字段。除图片外,报表上的每个字段都可见。感谢您的回复。这可能会让您感到奇怪,但em会问,当您从字段管理器中单击并拖动图片字段时,是否会出现该框?里面什么都没有?报告上的空盒子?但是,如果预览报告,您将看到图像,即使在运行报告时,您仍然会看到图像,但在将图像放入报告时不会看到图像。如果我说了一些没有意义的话,我很抱歉。谢谢@Waqar感谢您的回复。我明白你的意思。当我点击并拖动图片区域时,框出现,里面什么都没有。是的,一个空盒子。预览并运行时,将显示空框。当我向项目中添加新的crystal report时,会出现crystal report gallery对话框。选择“选择报告向导”收音机时,它将显示一个标准报告创建向导,其中包含可用的数据源。我选择了从数据库创建的视图。令你惊讶的是,它会告诉我该视图的字段,而其中没有图片字段。我能做什么?好的,现在,包含图像的表,您是否在视图中提供了该字段?如果是,就像从“字段资源管理器”拖放图像或字段一样,完全相同的方法是从视图或表拖放“图片”字段并将其拖放到报表上。如果我说了什么没有道理的话,我再次表示歉意。:)