1、现在需要把某一扩展名的文件存到数据库中,要求通过将文件转换成二进制文件写入数据库,不许通过记录文件路径的方式保存。(数据库为SQL)
2、存入数据库中后如何把二进制文件给还原出来生成原来类型的文件?
3、存文件的字段用哪一种数据类型?我用的是nText
如:我把1.doc文件整个存到字段FileContent,文件类型doc存到FileType,
还原时根据FileType将FileContent中的内容还原成**.doc文件。
2、存入数据库中后如何把二进制文件给还原出来生成原来类型的文件?
3、存文件的字段用哪一种数据类型?我用的是nText
如:我把1.doc文件整个存到字段FileContent,文件类型doc存到FileType,
还原时根据FileType将FileContent中的内容还原成**.doc文件。
解决方案 »
- richtextbox1怎么才能选中多行?一点击“>>”按钮,可以将选中的项目显示到另外的richtextbox2?
- 请问如何限制richedit中插入的图片不能改变大小?
- 如何监控客户端在线数
- vb中有什么函数可以把字符串中的空格去掉?谢谢
- 保存与另存.
- 因为考研需要学vb,请指教
- 做ERP项目遇到困难的Java、VC、VB、VB.net程序员,请点击
- 利用CDONTS组件发一封带附件的Email,附件出现乱码问题,高手请进!
- 我今天回答了几个问题,我认为都对了,可为何不送分?我不在乎分的,可最起码要鼓励我继续回答问题啊
- 如何改变listview中某一列的字体颜色?
- 数据库连接在程序中突然中断,跪求高手进来看看
- makecert.exe和SignCode.Exe这两个软件哪里有?
Dim F As Integer
Dim fld As Field
Dim bt() As Byte
F = FreeFile()
Set fld = rst.Fields("FileContent")
Open "c:\1.doc" For Binary As #F
Get #F, , bt
fld.AppendChunk (bt)
Close #F
End Sub读取的时候使用 Field 的 GetChunk 方法就可以了
该范例使用 AppendChunk 和 GetChunk 方法用其他记录中的数据填写图像字段。Public Sub AppendChunkX() Dim cnn1 As ADODB.Connection
Dim rstPubInfo As ADODB.Recordset
Dim strCnn As String
Dim strPubID As String
Dim strPRInfo As String
Dim lngOffset As Long
Dim lngLogoSize As Long
Dim varLogo As Variant
Dim varChunk As Variant
Const conChunkSize = 100 ' 打开连接。
Set cnn1 = New ADODB.Connection
strCnn = "Provider=sqloledb;" & _
"Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
cnn1.Open strCnn
' 打开 pub_info 表。
Set rstPubInfo = New ADODB.Recordset
rstPubInfo.CursorType = adOpenKeyset
rstPubInfo.LockType = adLockOptimistic
rstPubInfo.Open "pub_info", cnn1, , , adCmdTable
' 提示复制徽标。
strMsg = "Available logos are : " & vbCr & vbCr
Do While Not rstPubInfo.EOF
strMsg = strMsg & rstPubInfo!pub_id & vbCr & _
Left(rstPubInfo!pr_info, InStr(rstPubInfo!pr_info, ",") - 1) & _
vbCr & vbCr
rstPubInfo.MoveNext
Loop
strMsg = strMsg & "Enter the ID of a logo to copy:"
strPubID = InputBox(strMsg)
' 将徽标大块复制到变量中。
rstPubInfo.Filter = "pub_id = '" & strPubID & "'"
lngLogoSize = rstPubInfo!logo.ActualSize
Do While lngOffset < lngLogoSize
varChunk = rstPubInfo!logo.GetChunk(conChunkSize)
varLogo = varLogo & varChunk
lngOffset = lngOffset + conChunkSize
Loop
' 从用户处得到数据。
strPubID = Trim(InputBox("Enter a new pub ID:"))
strPRInfo = Trim(InputBox("Enter descriptive text:"))
' 添加新记录,大块复制徽标。
rstPubInfo.AddNew
rstPubInfo!pub_id = strPubID
rstPubInfo!pr_info = strPRInfo lngOffset = 0 ' 重置位移。
Do While lngOffset < lngLogoSize
varChunk = LeftB(RightB(varLogo, lngLogoSize - lngOffset), _
conChunkSize)
rstPubInfo!logo.AppendChunk varChunk
lngOffset = lngOffset + conChunkSize
Loop
rstPubInfo.Update
' 显示新添加的数据。
MsgBox "New record: " & rstPubInfo!pub_id & vbCr & _
"Description: " & rstPubInfo!pr_info & vbCr & _
"Logo size: " & rstPubInfo!logo.ActualSize ' 删除新记录,因为这只是演示。
rstPubInfo.Requery
cnn1.Execute "DELETE FROM pub_info " & _
"WHERE pub_id = '" & strPubID & "'" rstPubInfo.Close
cnn1.Close End Sub