?? ado綁定image控件內(nèi)的圖片未更新.txt
字號:
具 體 的 原 因 我 也 不 太 清 楚 , 不 過 有 一 個 辦 法 可 以 解 決 這 個 問 題 , 就 是 將 圖 片 文 件 按 二 進(jìn) 制 方 式 打 開 后 原 封 不 動 地 寫 進(jìn) 數(shù) 據(jù) 庫 ( 使 用 SetChunk方 法 ,請 注 意 , 建 議 使 用 動 態(tài) Byte數(shù) 組 , 不 要 使 用 字 符 串 或 變 體 , 可 能 的 話 , 一 次 性 讀 文 件 到 一 個 數(shù) 組 , 在 64M機(jī) 器 上 打 開 4M以 下 的 圖 片 文 件 沒 有 問 題 ) , 同 時 存 儲 該 圖 片 文 件 的 擴(kuò) 展 名 和 文 件 大 小 , 要 查 看 圖 片 時 , 再 使 用 GetChunk方 法 讀 出 原 先 記 下 的 文 件 長 度 到 一 二 進(jìn) 制 數(shù) 組 , 找 到 Windows Temp目 錄 后 存 為 一 個 文 件 再 打 開 。 附 簡 單 程 序 如 下 ( 程 序 中 如 有 錯 誤 , 請 自 行 調(diào) 試 ) :
數(shù) 據(jù) 庫 表 為
0 編 號 (字 符 型 )
1 圖 片 (ole類 型 )
2 圖 片 文 件 擴(kuò) 展 名 (字 符 型 )
3 圖 片 文 件 長 度 (長 整 型 )
Function SavePicture(rstMain as adodb.recordset,strFileName as string)
dim FileHandle as string
dim lngLogoSize as long
dim varLogo() as byte
rstMain.Addnew
rstMain(0).value = txtBH.Text
FileHandle = FreeFile
Open strFileName For Binary As #FileHandle
lngLogoSize = FileLen(strFileName)
ReDim varLogo(lngLogoSize - 1)
Get #FileHandle, , varLogo() '數(shù) 組 名 加 ()可 以 代 表 數(shù) 組
rstMain(1).AppendChunk varLogo()
Close #FileHandle
rstMain(2) = Right(strFileName, 4)
rstMain(3) = lngLogoSize
rstMain.Update
end Function
function ShowPicture(rstMain as adodb.recordset,gTempPath as string)
'顯 示 圖 片
Dim lngLogoSize As Long
Dim varLogo() As Byte
Dim strTempPath As String
Dim lResult As Long
Dim FileHandle As Long
strTempPath = gTempPath '請 自 行 得 到 Temp路 徑
strTempFileName = strTempPath & "PctTemp" & rstMain(2) '存 為 一 臨 時 文 件
FileHandle = FreeFile
Open strTempFileName For Output As #FileHandle
Close #FileHandle
Open strTempFileName For Binary As #FileHandle
lngLogoSize = rstMain(3)
ReDim varLogo(lngLogoSize - 1)
varLogo() = rstMain(1).GetChunk(lngLogoSize)
Put #1, , varLogo
Close #1
Set imgPreview.Picture = LoadPicture(strTempFileName)
end function
<END>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -