當前位置:首頁 » 網路資訊 » 怎樣用vb寫入數據和顯示數據啊
擴展閱讀
空仆app哪裡可以下載 2025-05-17 10:05:59
詳情頁怎樣做表格 2025-05-17 10:01:17

怎樣用vb寫入數據和顯示數據啊

發布時間: 2023-02-11 21:12:12

『壹』 vb程序 怎麼把圖片寫入資料庫並讀出來顯示

1.使用存取文件路徑的方法存取圖片
保存文件名與保存其他字元型數據的方法相同,其代碼如下:
Dim photoFilename as String
photoFilename = CommonDialog1.FileName
rs1.AddNew
rs1.Fields("photo")= photoFilename
rs1.Update
2.使用AppendChunk方法將二進制文件存入資料庫中
下面使用AppendChunk方法將不同類型的文件存入到資料庫中,程序主要代碼如下:
Const BLOCKSIZE = 4096
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub SaveToDB(ByRef Fld As ADODB.Field, DiskFile As String)
'定義數據塊數組
Dim byteData() As Byte
'定義數據塊個數
Dim NumBlocks As Long
Dim FileLength As Long
'定義剩餘位元組長度
Dim LeftOver As Long
Dim SourceFile As Long
Dim i As Long
'判斷文件是否存在
If Dir(DiskFile) <> "" Then
SourceFile = FreeFile
'打開二進制文件
Open DiskFile For Binary Access Read As SourceFile
FileLength = LOF(SourceFile)
'判斷文件是否空
If FileLength = 0 Then
Close SourceFile
MsgBox DiskFile & "文件無內容,請重新指定文件!", vbExclamation, "注意"
Else
'得到數據塊的個數
NumBlocks = FileLength \ BLOCKSIZE
'得到剩餘位元組數
LeftOver = FileLength Mod BLOCKSIZE
Fld.Value = Null
ReDim byteData(BLOCKSIZE)
For i = 1 To NumBlocks
Get SourceFile, , byteData()
'用Appendchunk方法將byteData()數據寫入FLD
Fld.AppendChunk byteData()
DoEvents
Next i
'將剩餘數據寫入FLD
ReDim byteData(LeftOver)
Get SourceFile, , byteData()
Fld.AppendChunk byteData()
Close SourceFile
End If
Else
MsgBox "文件不存在,請重新指定文件!", vbExclamation, "注意"
End If
End Sub
3.使用Stream對象將二進制文件存入資料庫
在ADO2.5以上版本中提供了一個Stream對象,該對象的引入大大簡化了二進制欄位的存取操作,但使用前需要引用ADO 2.5Library以上的版本
下面使用Stream對象將各種類型的文件存入到資料庫中,程序代碼如下:
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim mst As New ADODB.Stream
Private Sub cmdSave_Click()
rs.Open "select * from 文件表", cn, adOpenDynamic, adLockOptimistic
rs.AddNew
rs.Fields("名稱") = Text1.Text
mst.Type = adTypeBinary
mst.Open
If Text2.Text <> "" Then mst.LoadFromFile Text2.Text
rs.Fields("文件") = mst.Read
rs.Update
mst.Close
rs.Close
End Sub
Private Sub Command1_Click()
On Error GoTo Err
CommonDialog1.Filter = "所有文件(*.*)|*.*"
CommonDialog1.ShowOpen
Text2.Text = CommonDialog1.FileName
Exit Sub
Err:
MsgBox Err.Description
End Sub
Private Sub Form_Load()
Dim cnnstr As String
cnnstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db_wjgl.mdb;Persist Security Info=False"
cn.Open cnnstr
Adodc1.ConnectionString = cnnstr
Set Picture1.DataSource = Adodc1
Picture1.DataField = "文件"
End Sub

『貳』 使用vb編程如何從mdb資料庫中寫入,讀出圖像

1、從資料庫中顯示所需要的圖片

首先,添加一個Data數據控制項,設置它的DatabaseName和RecordSource屬性,

strPath = App.Path
If Right(strPath, 1) <> "\" Then
strPath = strPath & "\"
MyData.DatabaseName = strPath & "ExampleDB.mdb" '資料庫存地址
MyData.RecordSource = "Info" '表名

第二步,添加Image控制項用來顯示圖片,設置它的DataSource和DataField屬性。例如本例中: Image1.DataSource="MyData"和Image1.DataField=" MyPhoto" 。然後設置其它具有數據綁定功能的控制項用來顯示所要的其它內容,經過這兩步的操作,運行程序就可以顯示你要的數據了。

2、向資料庫中添加需要存儲的圖片

首先,利用數據控制項所具有的AddNew屬性,添加一個按鈕,雙擊後添加如下代碼MyData.Recordset.AddNew

第二步,為Image控制項圖片指定圖片路徑Image1.Picture = LoadPicture("圖片路徑"),經過這兩步的操作,就可以向資料庫中添加圖片了。

這種方法最簡單快捷,要寫的代碼量很少。但是這種方法在運行速度和靈活性方面有一定的限制,適合於初學者和一些簡單的應用,要想靈活多變的顯示圖像,下面介紹的方法或許更適應您的要求。

利用編寫代碼實現圖片的存儲與顯示

這種方法相對於方法一來說,代碼量大,但是它操作靈活,能夠滿足多樣形式下的操作,受到更多編程者的青睞。但是涉及到的知識面相對要多一些,不僅要掌握資料庫的操作方法,還要二進制文件的讀寫作進一步的了解。關於資料庫及二進制文件的基本操作很多參考書上都介紹的比較詳細,需要時請查閱即可。在編程之前把本部分用到的變數說明如下:

Dim RS As New ADODB.Recordset
Dim Chunk() As Byte
Const ChunkSize As Integer = 2384
Dim DataFile As Integer, Chunks, Fragment As Integer
Dim MediaTemp As String
Dim lngOffset, lngTotalSize As Long
Dim i As Integer

1、從資料庫中顯示所需要的圖片

第一步首先打開資料庫,看有沒有要查找的內容,有則繼續執行,沒有就退出

RS.Source = "select * from Info Where Name='" & sparaName &"';"
RS.ActiveConnection = "UID=;PWD=;DSN=TestDB;"
RS.Open
If RS.EOF Then RS.cCose : Exit Sub

第二步,讀出長二進制數據即圖片數據,把它轉換成圖片文件,操作過程如下

MediaTemp = strPath & "picturetemp.tmp"
DataFile = 1
Open MediaTemp For Binary Access Write As DataFile
lngTotalSize = RS!MyPhoto.ActualSize
Chunks = lngTotalSize \ ChunkSize
Fragment = lngTotalSize Mod ChunkSize
ReDim Chunk(Fragment)
Chunk() = RS!MyPhoto.GetChunk(Fragment)
Put DataFile, , Chunk()
For i = 1 To Chunks
ReDim Chunk(ChunkSize)
Chunk() = RS!MyPhoto.GetChunk(ChunkSize)
Put DataFile, , Chunk()
Next i
Close DataFile

第三步,關閉資料庫,這樣就可以顯示所要的圖片了。

RS.Close
If MediaTemp = "" Then Exit Sub
Picture1.Picture = LoadPicture(MediaTemp)
If Picture1.Picture = 0 Then Exit Subj

2、向資料庫中添加需要存儲的圖片

向資料庫添加存儲的圖片是顯示圖片逆過程,只要掌握了顯示圖片的操作,存儲圖片的操作也就迎刃而解了,下面將操作步驟介紹如下

第一步首先打開資料庫,過程如下:

RS.Source = "select * from Info ;"
RS.CursorType = adOpenKeyset
RS.LockType = adLockOptimistic
RS.ActiveConnection = "UID=;PWD=;DSN=TestDB;"
RS.Open

第二步,把要存儲的圖片轉換成二進制長文件存入資料庫中,操作過程如下

RS.AddNew
DataFile = 1
Open strPathPicture For Binary Access Read As DataFile
FileLen = LOF(DataFile) ' 文件中數據長度
If FileLen = 0 Then : Close DataFile : RS.Close : Exit Sub
Chunks = FileLen \ ChunkSize
Fragment = FileLen Mod ChunkSize
ReDim Chunk(Fragment)
Get DataFile, , Chunk()
RS!MyPhoto.AppendChunk Chunk()
ReDim Chunk(ChunkSize)
For i = 1 To Chunks
Get DataFile, , Chunk()
RS!MyPhoto.AppendChunk Chunk()
Next i
Close DataFile

第三步,更新紀錄後,關閉資料庫,就完成了數據圖片到資料庫的存儲。

RS.Update
RS.Close
Set RS = Nothing

兩種方法在使用方面各有所長,讀者可以針對自己的情況做出合理的選擇。

『叄』 怎樣用vb寫入數據和顯示數據啊

output
改成
append
text1-text3是你寫知入的數據
直接操作這3個文本道框
比如你text1是數值
你要統回計累計值答
就直接如下
Private
Sub
Command1_Click()
Open
"lz.txt"
For
append
As
#1
Write
#1,
Text1.Text,
Text2.Text,
Text3.Text
sum=sum
+
val(text1.text)
debug.print
sum
Close
#1
End
Sub