我将一段文本数据(文本包含字符‘我的文件’)以二进制格式存入access数据库的长二进制字段TXTINFO中,如何用SQL语句从字段TXTINFO查询到所有包含‘我的文件’的纪录呢?

解决方案 »

  1.   

    http://www.dapha.net/down/list.asp?id=601文本文件转换到数据库
      

  2.   

    http://www.china-askpro.com/msg9/qa42.shtml
      

  3.   

    Private Function DatabaseToFile(ByVal DataField As ADODB.Field, ByVal vSaveAs As String, ByVal vFileExpendName As String) As String
    Dim fnum As Long, bytesleft As Long, bytes As Long
    Dim lSumSize As Long, lNowSize As Long
    Dim tmp() As Byte
        On Error GoTo ErrHandleDatabaseToFile
        If Trim(vSaveAs) = "" Then
            DatabaseToFile = GetTempFileName(vFileExpendName)
        Else
            DatabaseToFile = Trim(vSaveAs)
        End If
        
        fnum = FreeFile
        Open (DatabaseToFile) For Binary As fnum
        bytesleft = DataField.ActualSize
        
        lSumSize = CLng(bytesleft / 8192)
        
        Do While bytesleft
            bytes = bytesleft
            If bytes > 8192 Then bytes = 8192
            tmp = DataField.GetChunk(bytes)
            Put #fnum, , tmp
            bytesleft = bytesleft - bytes
            lNowSize = lNowSize + 1
            RaiseEvent TransmitData(lNowSize, lSumSize, False)
        Loop
        Close #fnum
        Exit Function
    ErrHandleDatabaseToFile:
        DatabaseToFile = ""
        Err.Clear
    End FunctionPrivate Function FileToDatabase(ByVal vDataField As ADODB.Field, ByVal vFileName As String)
    Dim fnum As Long, bytesleft As Long, bytes As Long
    Dim lSumSize As Long, lNowSize As Long
    Dim tmp() As Byte
        On Error GoTo ErrHandleFileToDatabase
        
        fnum = FreeFile
        Open vFileName For Binary As fnum
        bytesleft = LOF(fnum)
        lSumSize = CLng(bytesleft / 8192)
        Do While bytesleft
            bytes = bytesleft
            If bytes > 8192 Then bytes = 8192
            ReDim tmp(1 To bytes) As Byte
            Get #fnum, , tmp
            vDataField.AppendChunk tmp
            bytesleft = bytesleft - bytes
            lNowSize = lNowSize + 1
            DoEvents
            RaiseEvent TransmitData(lNowSize, lSumSize, True)
        Loop
        
        Close #fnum
        
        Exit Function
    ErrHandleFileToDatabase:
        Err.Clear
    End Function