我想从我的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();-------------------------------------------------------
从数据库读图片到pictureboxSqlConnection 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;
但不行,谢谢
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();-------------------------------------------------------
从数据库读图片到pictureboxSqlConnection 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;
但不行,谢谢
解决方案 »
- 如何获取 UrlRewriter.dll 重写前的URL
- vista iis 浏览aspx网页时出现如下错误: 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
- 难题紧急 jquery ajax webservice
- 请问如何才能将ASP.NET WEB服务器上的绝对路径(如 D:/Test)转换成虚拟路,这样远程就可访问此路径的内容了
- 请教上传控件的问题
- freetextbox3.0问题(document.body为空或不是对象)
- 如何把WORD中的东西直接导入到HTML
- 用href="a.asp"如何控制打开的a.asp页面的窗口工具栏隐藏?
- EasyUIgrid显示问题
- 浏览器禁止cookie,但是Request.Cookies仍然能读写,这正常吗
- 高手指点,来者有分!上传我的项目到虚拟主机后,提示<customErrors> 错误!
- 时间段内的非周末天数
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();