ACCESS中的图片显示和插入问题!!!感激不尽!

fengyun14 2004-11-06 09:31:28
我想从我的ACCESS数据库中提取图片以及插入ACCESS数据库的OLE字段。

目前我的数据库中的OLE字段中有图片,现在我想把它提取出来,我参照了CSDN的一些帖子,我写道:
string connStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+
Application.StartupPath+"\\db1.mdb;";
OleDbConnection conn=new OleDbConnection(connStr);
conn.Open();
OleDbCommand cmd=new OleDbCommand("select 图片 from 类别 where 类别ID=1",conn);
OleDbDataReader reader=cmd.ExecuteReader();
reader.Read();
MemoryStream buf=new MemoryStream((byte[])reader[0]);
Image image=Image.FromStream(buf);
pictureBox1.Image=image;


可在编译时,系统在:
Image image=Image.FromStream(buf,true);
行,提示我说:

未处理的“System.ArgumentException”类型的异常出现在 system.drawing.dll 中。
其他信息: 使用了无效参数。

请问,我到底该怎样才能正确的显示数据库中原有的图片以及向ACCESS数据库中插入图像?
谢谢!
我已经参照了其他的方法,如:
转:

把图片读到pictureBox,再写入数据库

SqlConnection conn=new SqlConnection(@"data source=chenyuming2004\VSdotNET;uid=sa;pwd=cym;database=lhf");
conn.Open();
SqlCommand cmd=new SqlCommand("insert into fuser values ('1a','1b',@i)",conn);
byte[] ib=new Byte[60000];
FileStream fs=new FileStream(@"D:\windows temp\temp\1.jpg",FileMode.Open ,FileAccess.Read );
fs.Read(ib,0,60000);
cmd.Parameters.Add("@i",SqlDbType.Image,(int)fs.Length);
cmd.Parameters["@i"].Value=ib;
cmd.ExecuteNonQuery();
conn.Close();

-------------------------------------------------------
从数据库读图片到picturebox

SqlConnection conn=new SqlConnection(@"data source=chenyuming2004\VSdotNET;uid=sa;pwd=cym;database=lhf");
conn.Open();
SqlCommand cmd=new SqlCommand("select 照片 from fuser where password='1b'",conn);
SqlDataReader reader=cmd.ExecuteReader();
reader.Read();
MemoryStream buf=new MemoryStream((byte[])reader[0]);
Image image=Image.FromStream(buf,true);
pictureBox1.Image=image;


但不行,谢谢
...全文
207 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
devfan 2004-11-10
  • 打赏
  • 举报
回复
mark
minghui000 2004-11-10
  • 打赏
  • 举报
回复
a帮你up一下

+

留个位置学习

+

接分
fengyun15 2004-11-09
  • 打赏
  • 举报
回复
图片存:
string connStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+
Application.StartupPath+"\\db1.mdb;";
//OleDbConnection conn=new OleDbConnection(connStr);
OleDbConnection conn=new OleDbConnection(Class1.conn);
MemoryStream s = new MemoryStream();
pictureBox1.Image.Save(s,System.Drawing.Imaging.ImageFormat.Bmp
byte[] b=s.ToArray();

s.Close();

OleDbCommand cm=new OleDbCommand("insert into 类别 (图片) values (@PersonImage)",conn);
System.Data.OleDb.OleDbParameter paramPersonImage = new OleDbParameter("@PersonImage", System.Data.OleDb.OleDbType.Binary);
paramPersonImage.Value = b;
cm.Parameters.Add(paramPersonImage);

conn.Open();
try
{
cm.ExecuteNonQuery();
}
catch(Exception ee)
{
MessageBox.Show(ee.ToString());
}
conn.Close();

图片取:
conn.Open();
OleDbCommand cmd=new OleDbCommand("select top 1 图片 from 类别 order by 类别ID desc",conn);
OleDbDataReader reader=cmd.ExecuteReader();

reader.Read();




MemoryStream buf=new MemoryStream((byte[])reader[0]);
Image image=Image.FromStream(buf,true);
pictureBox1.Image=image;
conn.Close();
viena 2004-11-06
  • 打赏
  • 举报
回复
up

62,242

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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