我在数据表的Pic列(数据类型为OLE DB对象)手动插入一张图片:
怎样把图片读出来?在网上搜到的都是用编程方式插入图片再读出来。类似于:OleDbConnection myConn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Nwind1.mdb");
OleDbCommand myCmd = new OleDbCommand("select * from mytable where ID = 95", myConn);
myConn.Open();
OleDbDataReader reader = myCmd.ExecuteReader();
if (reader.Read())
{
if (reader["Pic"] is byte[])
{
byte[] buf = reader["Pic"] as byte[];
pictureBox1.Image = Image.FromStream(new MemoryStream(buf));//对手动插入的图片会报异常
}
}
myConn.Close();我将buf中的数据存为文件再和原文件比较,发现读出的数据相比原文件只是在头尾加入了路径及其他东西,哪位大虾知道怎么把它“剥离”出来呢?有没有什么转换的方法?
手动插入图片后单元格显示“Package”,而从图片文件读取数据再插入后单元格显示“长二进制数据”,哪位高人对这个Package比较了解呢?
怎样把图片读出来?在网上搜到的都是用编程方式插入图片再读出来。类似于:OleDbConnection myConn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Nwind1.mdb");
OleDbCommand myCmd = new OleDbCommand("select * from mytable where ID = 95", myConn);
myConn.Open();
OleDbDataReader reader = myCmd.ExecuteReader();
if (reader.Read())
{
if (reader["Pic"] is byte[])
{
byte[] buf = reader["Pic"] as byte[];
pictureBox1.Image = Image.FromStream(new MemoryStream(buf));//对手动插入的图片会报异常
}
}
myConn.Close();我将buf中的数据存为文件再和原文件比较,发现读出的数据相比原文件只是在头尾加入了路径及其他东西,哪位大虾知道怎么把它“剥离”出来呢?有没有什么转换的方法?
手动插入图片后单元格显示“Package”,而从图片文件读取数据再插入后单元格显示“长二进制数据”,哪位高人对这个Package比较了解呢?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货