问题描述
我想1)按了button2)在window檔案選取圖片3)顯示在picturebox4)將圖片寫入access資料庫5)將access資料庫的圖片讀回picturebox
解决方案
解决方案二:
没看明白"5)將access資料庫的圖片讀回picturebox"这个操作怎么??
解决方案三:
謝謝你~~kongweibin我想將4)picturebox的圖片寫入MicrosoftAccess資料庫,5)再將MicrosoftAccess資料庫的圖片讀取入Picturebox這都是在winform上的
解决方案四:
选择图片放入资料库和显示到PictureBox中DimOFDAsNewOpenFileDialogOFD.Filter="图片文件|*.jpg;*.bmp"IfOFD.ShowDialog()<>Windows.Forms.DialogResult.OKThenExitSubEndIfDimfsAsFileStream=NewFileStream(OFD.FileName,FileMode.Open,FileAccess.Read)Dimbt(fs.Length)AsByte'将文件放在数组中fs.Read(bt,0,fs.Length)'将图片显示在PictureBox中PicB.Image=NothingPicB.Image=Image.FromStream(fs)fs.Close()fs=NothingDimconAsOleDbConnection=NewOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:myporgramWindowsApplication4WindowsApplication4binDebugpic.mdb")DimcomAsNewOleDbCommandcom.Connection=concom.CommandText="updatetbl1setpic=@picwhereid='"&TextBox1.Text&"'"com.Parameters.Add("@pic",OleDbType.VarBinary).Value=btTrycon.Open()com.ExecuteNonQuery()CatchexAsExceptionMsgBox(ex.Message)Finallycon.Close()EndTry从资料库中读取图片显示到PictureBox中DimconAsNewOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:myporgramWindowsApplication4WindowsApplication4binDebugpic.mdb")DimcomAsNewOleDbCommandDimdrAsOleDbDataReaderDimmsAsMemoryStreamcom.Connection=concom.CommandText="selectpicfromtbl1whereid='"&TextBox1.Text&"'"Trycon.Open()dr=com.ExecuteReader()CatchexAsExceptionMsgBox(ex.Message)EndTryIfdr.Read()ThenTryDimbt()AsByte=dr.Item("pic")ms=NewMemoryStream(bt)PicB.Image=NothingPicB.Image=Image.FromStream(ms)CatchexAsExceptionMsgBox(ex.Message)Finallyms.Close()ms=NothingEndTryEndIfcon.Close()
解决方案五:
补充一下:在将文件显示到PictureBox中的时候要确保是图片文件,否则会有参数错误从资料库读取图片到PictureBox中的时候,最好要判断一下是DataRead中的图片列是否为空
解决方案六:
謝謝你~~kongweibin成功了不知道你可否將选择图片放入资料库和显示到PictureBox中內的code分2段1)按了button在window檔案選取圖片顯示在picturebox2)再按buttonPictureBox中图片放入资料库
解决方案七:
還有我想改為insert是不是將"updatetbl1setpic=@picwhereid='"&TextBox1.Text&"'"改做"insertinto11([pic],[id])VALUES(@pic,"&txt.Text&")"?
解决方案八:
還需高手幫忙
解决方案九:
在window檔案選取圖片顯示在pictureboxDimOFDAsNewOpenFileDialogOFD.Filter="图片文件|*.jpg"IfOFD.ShowDialog()<>Windows.Forms.DialogResult.OKThenExitSubEndIfPicB.Image=NothingPicB.Image=Image.FromFile(OFD.FileName)PictureBox中图片放入资料库IfPicB.ImageIsNothingThenExitSubEndIfDimmsAsNewMemoryStream'将picturebox中的图象放入内存流TryPicB.Image.Save(ms,PicB.Image.RawFormat)CatchexAsSystem.Runtime.InteropServices.ExternalExceptionMsgBox(ex.Message&ex.ToString())exitsubEndTry'将内存流中的内容放入数组中Dimbt()AsByte=ms.GetBuffer()DimconAsOleDbConnection=NewOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:myporgramWindowsApplication4WindowsApplication4binDebugpic.mdb")DimcomAsNewOleDbCommandcom.Connection=concom.CommandText="insertintotbl1(pic,id)values(@pic,@id)"com.Parameters.Add("@pic",OleDbType.VarBinary).Value=btcom.Parameters.Add("@id",OleDbType.Char).Value=TextBox1.TextTrycon.Open()com.ExecuteNonQuery()CatchexAsExceptionMsgBox(ex.Message)Finallycon.Close()ms=NothingEndTry如果把从在window檔案選取圖片显示在PICTUREBOX中,在将PICTUREBOX中的图片放到数据库中是可以的如果PICTUREBOX中的图片来自数据库,在将这个图片保存到数据库,就出问题,试了多种方法都没成功,无能为力了!