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

SAP辉哥 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 中,但在水晶报表无法显示图片
请大虾们指点。
...全文
156 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
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();

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧