有一段程序麻烦大家帮我看一下。
代源如下:
Dim mstream As ADODB.Stream
    Set mstream = New ADODB.Stream
    mstream.Type = adTypeBinary
    mstream.Open
    mstream.LoadFromFile CommonDialog1.FileName
    Main.datacon.CommandType = adCmdTable
    Main.datacon.RecordSource = "userdangan"
    Main.datacon.Recordset.AddNew
    Main.datacon.Recordset.Fields("图片").value = mstream.Read
    Main.datacon.Recordset.Update
    Main.datacon.Refresh
    mstream.Close
目的是将comondialog1浏览到的图片存入userdangan表中的'图片'字段,可是运行后总是报错:
‘在对应所需名称或序数的集合中,末找到项目’搞不懂,大家帮我看看!在线等

解决方案 »

  1.   

    是什么数据库?
    SQL中要用image 类型
    access 中要用OLE类型
    userdangan表中的'图片'字段,是什么类型的字段
    ADO要引用2.5以上版本Dim Cn As New ADODB.Connection
    Dim Rs As New ADODB.Recordset
    Dim Mstream As ADODB.StreamPrivate Sub Command2_Click()
       Dim StrPath As String
    if cn.state=0 then   Cn.Open "Provider=SQLOLEDB;data Source=127.0.0.1;Initial Catalog=test;User Id=sa;Password="
       Rs.Open "Select * from TABLE1 where empid= 1 ", Cn, adOpenKeyset, adLockOptimistic
       
       On Error GoTo err:
       CommonDialog1.CancelError = True
       CommonDialog1.Filter = "*.jpg;*.bmp;*.gif|*.jpg;*.bmp;*.gif" ' CommonDialog1.Filter = "*.mdb|*.mdb|"
       CommonDialog1.ShowOpen
       
       If CommonDialog1.FileName <> "" Then
           StrPath = CommonDialog1.FileName
           Set Mstream = New ADODB.Stream
           Mstream.Type = adTypeBinary
           Mstream.Open
          Mstream.LoadFromFile StrPath
          If Rs.EOF Then
             Rs.AddNew
             Rs!Empid = 1
             Rs.Fields("Picture").Value = Mstream.Read
          Else
             Rs.Fields("Picture").Value = Mstream.Read
          End If
          Rs.Update
          Rs.Close
          Cn.Close
       End If
       
       
    err:
    上面的程序测试通过 ,可以正常存图入SQL数据库
      

  2.   

    M$ 的范例
    如何使用 ADO Stream 对象访问和修改 SQL Server BLOB 数据
    http://support.microsoft.com/default.aspx?scid=kb;zh-cn;258038
      

  3.   

    vb_sql2000 字字段是‘image'这都没错呀
      

  4.   

    不要用ADO控件,引用ADO按1/2楼的方法