C#中如何以OEL对象存储图片到ACCESS数据库? 大虾们请进啊

lnpusky 2007-11-20 02:12:54
直接打开Access 数据库将图片保存到OLE对象字段时,利用selecte Photo from Card ,
水晶报表 的Photo数据库字段中能够正常显示图片,但是我用一下语句保存图片:
OpenFileDialog opfile = new OpenFileDialog();
opfile.Filter = "(*.bmp)|*.bmp";
if (opfile.ShowDialog() == DialogResult.OK)
{
string fullpath = opfile.FileName;
Bitmap bmpt = new Bitmap(fullpath);
pbxPhoto.Image = bmpt;//显示图片在pictureBox 里

string sSQL = "UPDATE Card SET " + " Photo = '"+bmpt+"'"
+ " where ID = '" + txtBID.Text + "'";
Result ret = SQL.SQLExec(sSQL);//执行SQL语句
}
以上语句可以执行,并将图片以 长二进制数据 格式保存到 Card 表Photo 中,但在水晶报表无法显示图片
请大虾们指点。
...全文
72 1 点赞 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
csrwgs 2007-11-20
其实。。是BYTE[] 型

OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"F:\Documents and Settings\hardes\桌面\blob");
conn.Open();
string path = @"D:\photo\100_4683.JPG";
OleDbCommand cmd = new OleDbCommand("insert into blob(pic) values(@para1)", conn);
OleDbParameter para = new OleDbParameter("@para1", OleDbType.Binary);

para.Value =(byte[]) Class1.ReadFileToByte(path);
cmd.Parameters.Add(para);
int i = cmd.ExecuteNonQuery();

cmd.Dispose();
conn.Close();
conn.Dispose();

Console.WriteLine("Excute Result:{0}", i);
Console.ReadKey();
  • 打赏
  • 举报
回复
发帖
C#
创建于2007-09-28

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2007-11-20 02:12
社区公告

让您成为最强悍的C#开发者