首页 文章

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

提问于
浏览
0

C#应用程序浏览文件中的图片并将其作为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();
    }

1 回答

  • 0

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

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

相关问题