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();
}
答案 0 :(得分:0)
如果你可以将图片上传到数据库,并将该字段调用到报告中,它可能不会在制作时输出任何内容,但会在预览中提供图像,上传图像,任何类型并只需调用它使用该字段报告。
为了更明确,您可以将任何图像转换为二进制序列,存储在db中,稍后在调用要报告的字段时,它将显示您之前转换为二进制的实际图像,