请帮忙解答下,我要将一个表中的一个OLE对象(放的是一个二进制图象文件)取出来,并放到另一张表,请问VB代码怎么写?

解决方案 »

  1.   

    我的代码是这样的:
    Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\data\dangan.mdb;Persist Security Info=False"
    Adodc1.ConnectionTimeout = 30
    Adodc1.CommandTimeout = 30
    Adodc1.CommandType = adCmdText
    Adodc1.RecordSource = "select * from photo where id=1"
    Adodc1.Refresh
     
    sqlstr = "insert into dangan(user_name,user_password,user_sex,user_beforename,user_age,user_birthday,user_address,user_contact,user_class,user_college,user_photo,user_beizhu,user_major,user_level)"
    sqlstr = sqlstr & " values('" & Text1.Text & "','" & Text12.Text & "','" & Combo1.Text & "','" & Text3.Text & "'," & Text2.Text
    sqlstr = sqlstr & ",'" & Text4.Text & "','" & Text7.Text & "','" & Text8.Text & "','" & Text9.Text & "',"
    sqlstr = sqlstr & "'" & Text10.Text & "','" & Adodc1.Recordset.Fields("photo").Value 这是从一个表中读出来的 & "','" & Text11.Text & "','" & Text5.Text & "','" & Text6.Text & "')"为什么不行
      

  2.   

    二进制字段不能直接用 insert 语句的。
    建议你用 Recordset 的 AppendChunk 方法。
    或者用流的方式写入。
    前面有很多这样的贴子,你应该先搜查一下。
      

  3.   

    从数据库读到二进制数组:
    bteContent是一个二进制数组。bteContent = objAdoRecS.Fields("imageFile").GetChunk(objAdoRecS.Fields("imageFile").ActualSize)从二进制数组写入数据库:objAdoRecS.Fields("imageFile").AppendChunk bteContent
      

  4.   

    strReg是图片名
    select * from TABLE
    RS是结果集
    Set StmPic = New ADODB.Stream
                StmPic.Type = adTypeBinary
                StmPic.Open
                StmPic.LoadFromFile (imgLogo.Picture)
        
                rs.AddNew
                rs.Fields("字段名").Value = strReg
                rs.Update
                StmPic.Close
      

  5.   

    哦,问下,二进制流不能用insert吗?