0

您好,我在我的数据库字段中保存了一张图片,并想在我的水晶报表查看器中显示该图片,但无法弄清楚如何执行它?任何帮助或建议都会非常有帮助。

4

1 回答 1

-1

好的,我正在使用 SQLite,重要的是要创建 1.) 将使用一个 BLOB 字段来保存您的数据。

2.) 使用以下代码选择文件。为此需要调用打开对话框。

{ 

OpenFileDialog of1 = new OpenFileDialog();

of1.Filter = "JPEG Files (*.jpeg)|*.jpeg|PNG Files (*.png)|*.png|JPG Files (*.jpg)|*.jpg";

of1.ShowDialog();

tbImage.Text = of1.FileName;

}

注意:不要忘记将相关的数据库字段类型设置为 System.byte[];

3.) 现在将文件转换为字节流。{

byte[] imageBt = null;

FileStream fstream = new FileStream(tbImage.Text,FileMode.Open,FileAccess.Read);

BinaryReader br = new BinaryReader(fstream);

imageBt = br.ReadBytes((int)fstream.Length);

}

4.) 将图像插入数据库

{
String query = "Insert into Employee Values (" + e1.EmpID + ",'" + e1.FirstName + "','" + e1.LastName + "','" + e1.EmailAddress + "', @IMG)";

myCommand = new SQLiteCommand(query, dbConn);

myCommand.Parameters.Add(new SQLiteParameter("@IMG", e1.Image));
}

要首先检索图像,需要 ImageBox

1.) 使用以下代码获取 BLOB 数据字节并将图像放入 Image Box {

MemoryStream mstream = new MemoryStream((byte[])(reader["Image"]));

ImageBox.Image = System.Drawing.Image.FromStream(mstream);

}
于 2013-07-03T08:48:04.250 回答