VB.NET 操作 ACCESS OLE 字段內容
2024-07-10 13:05:04
供稿:網友
 
數據庫結構:
--------------------------------------
test.mdb [放在bin目錄下]
表 test(id 自動編號, img ole)
----------------------------------------------
代碼:
----------------------------------------------------
使用 一個 openfiledialog ,兩個 picturebox
----------------------------------------------------------------------
imports system.io
public class form1
 inherits system.windows.forms.form
 dim cnn as data.oledb.oledbconnection
 private sub button4_click(byval sender as system.object, byval e as system.eventargs) handles button4.click
 me.dispose(true)
 end sub
 private sub button1_click(byval sender as system.object, byval e as system.eventargs) handles button1.click
 if openfiledialog1.showdialog = dialogresult.ok then
 picturebox1.image = image.fromfile(openfiledialog1.filename)
 end if
 end sub
 private sub dbinit()
 try
 cnn = new data.oledb.oledbconnection("provider=microsoft.jet.oledb.4.0;data source=" & application.startuppath & "/test.mdb")
 cnn.open()
 catch exp as oledb.oledbexception
 msgbox(exp.message)
 end
 end try
 end sub
 private sub dbrelease()
 cnn.close()
 cnn = nothing
 end sub
 private sub button2_click(byval sender as system.object, byval e as system.eventargs) handles button2.click
 if picturebox1.image is nothing then
 msgbox("請先選擇圖片", msgboxstyle.exclamation)
 exit sub
 end if
 dim fs as filestream = new filestream(openfiledialog1.filename, filemode.open, fileaccess.read)
 dim bt(fs.length) as byte
 fs.read(bt, 0, fs.length)
 fs.close()
 fs = nothing
 dim olecmd as oledb.oledbcommand = new oledb.oledbcommand
 dbinit()
 olecmd.connection = cnn
 olecmd.commandtype = commandtype.text
 olecmd.commandtext = "insert into test (img) values (@img)"
 olecmd.parameters.add("@img", oledb.oledbtype.binary).value = bt
 olecmd.executenonquery()
 olecmd = nothing
 dbrelease()
 msgbox("圖片插入成功")
 end sub
 private sub button3_click(byval sender as system.object, byval e as system.eventargs) handles button3.click
 dim olecmd as oledb.oledbcommand = new oledb.oledbcommand("select img from test where id=1")
 olecmd.commandtype = commandtype.text
 dbinit()
 olecmd.connection = cnn
 dim dr as oledb.oledbdatareader = olecmd.executereader(commandbehavior.singlerow)
 if dr.read then
 if not isdbnull(dr.item(0)) then
 dim bt() as byte = dr.item(0)
 dim ms as memorystream = new memorystream(bt)
 picturebox2.image = image.fromstream(ms)
 else
 msgbox("無圖片")
 end if
 else
 msgbox("無數據")
 end if
 dr.close()
 dr = nothing
 olecmd = nothing
 dbrelease()
 end sub
end class