您好,我在我的数据库字段中保存了一张图片,并想在我的水晶报表查看器中显示该图片,但无法弄清楚如何执行它?任何帮助或建议都会非常有帮助。
问问题
7356 次
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 回答