0

AC# 应用程序浏览文件中的图片并将其作为 byte[] 上传到 sql server 2005 数据库中。打开表时(使用管理工作室),显示图片字段读取“二进制数据”。当应用程序运行时,同一表中的所有其他字段都会显示在报告中,但图片字段除外。在数据库中,图片字段的类型是图像。在水晶报表上,图片是blob 字段。水晶报表上不显示图像。我正在使用数据集。非常感谢您的帮助!


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

    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();
    }
4

1 回答 1

0

如果您可以将图像上传到数据库,并将该字段调用到报告中,它可能不会在制作时向您输出任何内容,但会在预览中为您提供图像,上传图像,任何类型,然后将其调用到使用该字段进行报告。

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

于 2013-06-12T11:27:14.310 回答