表:T_Attach (含BLOB字段)
表:T_file (不含BLOB字段)
如果我直接打开T_Attach表,往里写数据就没问题。
但是如果我先打开T_file,不管关不关闭,接着打开T_Attach表就会提示错误,内部错误(daputchunk)。这是啥原因啊。只读方式打开T_file也不行。高手,救命。~~~~~~~~~~~~~~~~~~~~~~

解决方案 »

  1.   


    Set AdoRdT_WSFILE = createobject("ADODB.RECORDSET")
    Call AdoRdT_WSFILE.open("T_WSFILE",AdoCon,1,3)
    FILEID = Cstr(AdoRdT_WSFILE.RecordCount+1)
    就是这段代码,放在以下代码之上--------------------------------------
     Dim t_attach As Variant
        
        Dim oConn1 As Variant
        Dim s1 As Variant
        
        Set oConn1 = CreateObject("ADODB.connection")
        oConn1.ConnectionString = connectstring
        oConn1.open
        Set t_attach = CreateObject("adodb.recordset")
       
        xxx = t_attach.open("t_attach", oConn1, 1, 3)
         attachid = CStr(t_attach.recordcount + 1)
        Set s1 = CreateObject("adodb.stream")
        
        s1.Type = 1
        s1.Mode = 3
        s1.open
        
        s1.LoadFromFile filepath
        t_attach.AddNew
        t_attach.fields("attachid") = attachid
        t_attach.fields("FILEID") = fileid
        t_attach.fields("ATTACHCONTENT").AppendChunk (s1.Read)
       t_attach.fields("ATTACHNAME") = filename
        t_attach.fields("EXTNAME") = extname
        t_attach.fields("FILEFLAG") = fileflag
        t_attach.Update
        
        t_attach.Close
        Set t_attach = Nothing
        oConn1.Close
        Set oConn1 = Nothing
        Set s1 = Nothing
    ----------------------------
    我这个是在LOTUS里用的,具体代码应该没啥问题。分别单独运行都好着呢。
    会不会是:
    .open("T_WSFILE",AdoCon,1,3)这里的问题呢。
    高手~~~期待你呀
      

  2.   

    会不会是:
    .open("T_WSFILE",AdoCon,1,3)这里的问题呢。
    ------------------------------------------------------------------
    我想不是
      

  3.   

    Option ExplicitDim cn As New ADODB.Connection, rs   As New ADODB.Recordset'保存
    Private Sub Command1_Click()
        Dim bteContent() As Byte
        
        Open "C:\aa.bmp" For Binary Access Read As #1
        bteContent = InputB(LOF(1), #1)
        Close #1
        
        If rs.State = adStateOpen Then rs.Close
        rs.Open "select * from tablename", cn, adOpenDynamic, adLockPessimistic
        rs.AddNew
        rs!Name = "张三"
        rs!AGE = 22
        rs!SEX = "男"
        rs.Fields("PHOTO").AppendChunk bteContent
        rs.Update
        
        Erase bteContent
    End Sub'打开
    Private Sub Command2_Click()
        Dim bteContent() As Byte
        If rs.State = adStateOpen Then rs.Close
        rs.Open "select * from tablename", cn, adOpenForwardOnly, adLockReadOnly
        bteContent = rs.Fields("PHOTO").GetChunk(rs.Fields("PHOTO").ActualSize)    Open "C:\aa.bmp" For Binary Access Write As #1
        Put #1, , bteContent
        Close #1
        Image1.Picture = LoadPicture("C:\aa.bmp")
    End SubPrivate Sub Form_Load()
    On Error GoTo Errhandle
        cn.ConnectionString = "Driver={SQL Server};SERVER=DataServer;DATABASE=zxzx;UID=information;PWD=information*&#"
        cn.Open
        
        Exit Sub
    Errhandle:
        MsgBox Err.Description, vbExclamation
    End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    On Error Resume Next
        rs.Close
        Set rs = Nothing
        cn.Close
        Set cn = Nothing
    End Sub
      

  4.   

    MSTOP(陈建华) ( ) 信誉:159  2004-06-22 08:54:00  得分: 0  
     
     
       是不是两表的某字段连接(关联)了?
    _________________________________________________________________两个表的确有关联字段,这有影响吗?我首先要写入T_Attach表,这个表的FILEID和T_File表里的FILEID是对应的。但是T_Attach表可以为空的。