我的想法的是COMMONDIAGLOG控件得图片的文件名;
然后将些图片存入数据库;
我不知道用什么控件或者方法,图片存入数据库?
请高手指点下了;
然后将些图片存入数据库;
我不知道用什么控件或者方法,图片存入数据库?
请高手指点下了;
解决方案 »
- VB:如何调用带有游标的存储过程???
- 有关字符串问题的,请大家来看看
- 大家好,有来求救了。我在VB时,在运行父窗体时,会打开所有的子窗体,有没有一种方法,可以让子窗体不打开呢?
- 如何读取一个文本文件的最后一行
- 一个简单的问题
- 关于msgflexgrid的问题
- 关于datagrid的问题(简单的)
- 已知道一个IE窗口的句柄!如何知道这个网页的HTML代码!
- ///也许是高难度问题,请指教。////
- 请问如何在vb中截获消息
- 菜鸟100分跪求VB算法:如何实现"*年*周*天"的计时方式转换成"*年*月*日",十万火急!!!!!!!!!!!!!!!!!!!!
- 关于SQLSEVER2000的数据库备份的问题!
打开vb6,新建工程。添加两个按钮,一个image控件
注意:Access中的photo字段类型为OLE对象.
SqlServer中的photo字段类型为Image'** 引用 Microsoft ActiveX Data Objects 2.5 Library 及以上版本
‘2.5版本以下不支持Stream对象
Dim iConcstr As String
Dim iConc As ADODB.Connection
'保存文件到数据库中
Sub s_SaveFile()
Dim iStm As ADODB.Stream
Dim iRe As ADODB.Recordset
Dim iConcstr As String '读取文件到内容
Set iStm = New ADODB.Stream
With iStm
.Type = adTypeBinary '二进制模式
.Open
.LoadFromFile App.Path + "\test.jpg"
End With
'打开保存文件的表
Set iRe = New ADODB.Recordset
With iRe
.Open "select * from img", iConc, 1, 3
.AddNew '新增一条记录
.Fields("photo") = iStm.Read
.Update
End With
'完成后关闭对象
iRe.Close
iStm.Close
End Sub
Sub s_ReadFile()
Dim iStm As ADODB.Stream
Dim iRe As ADODB.Recordset
'打开表
Set iRe = New ADODB.Recordset
‘得到最新添加的纪录
iRe.Open "select top 1 * from img order by id desc", iConc, adOpenKeyset, adLockReadOnly
'保存到文件
Set iStm = New ADODB.Stream
With iStm
.Mode = adModeReadWrite
.Type = adTypeBinary
.Open
.Write iRe("photo")
‘这里注意了,如果当前目录下存在test1.jpg,会报一个文件写入失败的错误.
.SaveToFile App.Path & "\test1.jpg"
End With
Image1.Picture = LoadPicture(App.Path & "\test1.jpg")
'关闭对象
iRe.Close
iStm.Close
End Sub
Private Sub Command1_Click()
Call s_ReadFile
End Sub
Private Sub Command2_Click()
Call s_SaveFile
End Sub
Private Sub Form_Load()
'数据库连接字符串
iConcstr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False" & _
";Data Source=F:\csdn_vb\database\保存图片\access图片\img.mdb"‘下面的语句是连接sqlserver数据库的.
‘iConcstr = "Provider=SQLOLEDB.1;Persist Security Info=True;" & _
‘ "User ID=sa;Password=;Initial Catalog=test;Data Source=yang"
Set iConc = New ADODB.Connection
iConc.Open iConcstr
End Sub
Private Sub Form_Unload(Cancel As Integer)
iConc.Close
Set iConc = Nothing
End Sub
Public Sub SaveToDatabase(ado As Recordset, fieldname As String, filepath As String)
'Dim ado As New ADODB.Recordset
Dim lLen As Long
Dim lCount As Long
Dim lFragment As Long
Dim lChunks As Long
Dim bChunk() As Byte
Dim iFileNum As Integer
Dim oField As Field
Dim msfilename As String
Dim FILENAME As String
msfilename = filepath
'Call ConnectToSQL
'ado.Open sqlstring, GYConn, adOpenStatic, adLockOptimistic
iFileNum = FreeFile
Open msfilename For Binary Access Read As iFileNum
lLen = LOF(iFileNum)
lChunks = lLen \ CHUNKSIZE
lFragment = lLen Mod CHUNKSIZE
ReDim bChunk(lFragment)
Get iFileNum, , bChunk
Set oField = ado.Fields(fieldname)
oField.Value = ""
oField.AppendChunk bChunk
ReDim bChunk(CHUNKSIZE)
For lCount = 1 To lChunks
Get iFileNum, , bChunk()
oField.AppendChunk bChunk
Next
Close iFileNum
ado.Update
Set ado = Nothing
End Sub
Sub ReadDataFromDatabase(ado1 As Recordset, fieldname As String, filepath As String)
Dim iFileNum As Integer
Dim lFileLen As Long
Dim lChunks As Long
Dim lFragment As Long
Dim bChunk() As Byte
Dim lCount As Long
Dim oField As Field
Dim oRS As Recordset
' Dim ado1 As New ADODB.Recordset
Dim sFileName As String sFileName = filepath
' Set oField = oRS.Fields("file")
'ado1.Open sqlstring, GYConn, adOpenStatic, adLockOptimistic
ado1.MoveFirst
'If ado1.Fields(FieldName) = Null Then
'Exit Sub
'End If
iFileNum = FreeFile
Open sFileName For Binary Access Write As iFileNum
Set oField = ado1.Fields(fieldname)
lFileLen = oField.ActualSize
lChunks = lFileLen \ CHUNKSIZE
lFragment = lFileLen Mod CHUNKSIZE
For lCount = 1 To lChunks
ReDim bChunk(CHUNKSIZE)
bChunk() = oField.GetChunk(CHUNKSIZE)
Put iFileNum, , bChunk()
Next
If lFragment <> 0 Then
ReDim bChunk(lFragment)
bChunk() = oField.GetChunk(lFragment)
Put iFileNum, , bChunk()
End If
Close iFileNum
ado1.Update
End Sub这里的2个函数你可以将任何文件保存到数据库中以及从数据库中读取出相应的文件保存到外部文件呵呵,来迟了,不过没关系,分点分就行了
Leftie(左手,为人民币服务)给的方法,好像是ASP.NET中的方法;
高手们,只要给予支持我都会给分的.
可以直接传分嘛?
我有用的是VB 6.0不是.NET
我首先在要窗体上,
给出一个控件,
1.让用户选择一个或者多个图片.2.将用户的选择的图片存入一个表中.3.然后我根据表能查询图片,并要在窗件上显示请高手给我说下思路,用什么控件,用什么方法.
如果有源代码,当然:)
急,真诚谢谢.要分我可以单独给的.
Set iRe = New ADODB.Recordset
With iRe
.Open "select * from img", iConc, 1, 3
.AddNew '新增一条记录
.Fields("photo") = iStm.Read
.Update
End With]现在用的方法完全可以实现图片的存入,和读取;
如果我不用Update.要用Insert的话:
我用什么类型的变量来接受iStm.Read得到的流文件;
我试了insert p values('"& iStm.Read &"')",报字符串间有未完全的引号的错;
请高手指点