[VB.NET]如何把一个图片保存到access中,又如何把它读取出来,并在picturebox中显示?

VB.NET源码-156个实用实例哦…… <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
如何把一个图片保存到access中,又如何把它读取出来,并在picturebox中显示?
如何把一个图片保存到access的数据表中,又如何把它读取出来,并在picturebox中显示?
__________________________________________________________________________
在数据库中保存图片的名字.然后读出名字不就可以了吗
__________________________________________________________________________
我是要把图片放在数据库中,不是图片的地址
__________________________________________________________________________
对图片对象序列化为二进制流存入数据库,读取后反序列化为图片对象。
没有搞过,但我想这样应该可以的,希望对你有所帮助。
__________________________________________________________________________
谢谢你们了。最后我用的还是在数据库中存图片地址的方法。
__________________________________________________________________________
楼主,图片地址对应的图片在picturebox中显示的代码怎么写
__________________________________________________________________________
我现在也碰到图片保存显示的问题,我的放在sql server,所以想参考一下你的界面和代码.
做毕业设计用,如果方便的话,发我email:allen9507@sina.com
__________________________________________________________________________
楼主帮忙
__________________________________________________________________________
access的我以前给一朋友写过一个这样的列子,有需要和我联系啊。到时候发给你

我的Mail:gcpony@gmail.com
__________________________________________________________________________
直接帖代码吧,更快一些。呵呵 存图片的字段类型了:OLE 对象

private void Form1_Load(object sender, System.EventArgs e)
{
//init DbConnection;
ConStr= Provider=Microsoft.Jet.OLEDB.4.0;Data Source= +Application.StartupPath+ //imageToAccess.mdb ;
myConnection = new OleDbConnection(ConStr);
}

private void button1_Click(object sender, System.EventArgs e)
{
//get file info
string filePath=Application.StartupPath+ //it.jpg ;
FileInfo fi=new FileInfo(filePath);
FileStream fileStream=fi.OpenRead();
int length=(int)fileStream.Length;
byte[] fileData=new byte[length];
fileStream.Read(fileData,0,length);

//Sql
OleDbCommand command = new OleDbCommand ( INSERT INTO t1 (filename,fileData) + VALUES (@filename,@fileData) , myConnection);
//add para 1
System.Data.OleDb.OleDbParameter parafileName = new OleDbParameter( @filename , System.Data.OleDb.OleDbType.VarChar,50);
parafileName.Value = it.jpg ;
command.Parameters.Add(parafileName);

//add para2
System.Data.OleDb.OleDbParameter paramPersonImage = new OleDbParameter( @fileData , System.Data.OleDb.OleDbType.Binary);
paramPersonImage.Value = fileData;
command.Parameters.Add(paramPersonImage);

//Excute
this.OpenDB();
command.ExecuteNonQuery();
myConnection.Close();


}

private void button2_Click(object sender, System.EventArgs e)
{
this.OpenDB();
string strSel= select * from t1 order by id desc ;
OleDbCommand cmd=new OleDbCommand(strSel,myConnection);
OleDbDataReader dr=cmd.ExecuteReader();
if(dr.Read())
{
byte[] by=(byte[])dr.GetValue(2);
MemoryStream ms=new MemoryStream(by);
Image img=Image.FromStream(ms);
pb.Image=img;
}
}
private void OpenDB()
{
if(myConnection.State.ToString()== Closed )
{
myConnection.Open();
}
}
}
}
__________________________________________________________________________
WinForm中存地址好象不太好吧。要是别的机器访问怎么办呢?我上面的代码就是存数据库的。其实原理大家都知道的呀,就是把文件流写进去,最后也只是读文件流然后赋值给控件就可以了。
__________________________________________________________________________
楼上的,能+我qq:232530181发,具体问下图片问题
__________________________________________________________________________
展开阅读全文

没有更多推荐了,返回首页