这是我的代码:
  Option Explicit
Dim conn As New ADODB.Connection
Dim rsBookno As ADODB.RecordsetPrivate Sub cmdAdd_Click()
    Dim str As String
    Dim i As Integer
   conn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist       SecurityInfo=False;Initial Catalog=library;Data Source=JOJO"
    str = "select book_no from bookinfo where book_name=" & "'" & dcbBookname.BoundText & "'"""
    Set rsBookno = New ADODB.Recordset
    conn.Open
    rsBookno.ActiveConnection = conn ###   rsbookno.open str''''''''''总是在这里出错,而我又找不出错误的地方    ''我想得到bookinfo表的book_no字段,有些代码省略了。    conn.Close
    Unload Me
End Sub
请问为什么每次运行的时候,总是在标明###的地方提示“不能使用空白的对象或列名,如果必要请使用一个空格”?
  我第一次接触数据库编程,很多地方还是菜鸟,错误可能很可笑,还望大家多指教~~

解决方案 »

  1.   

    在出错语句前加一句:msgbox str看看你的 str 所组成的 sql 语句的结果是什么?很可能不合法。
      

  2.   

    str = "select book_no from bookinfo where book_name='" & dcbBookname.BoundText & "'"
      

  3.   

    你按照我的程序修改一下,看行不行
    你试试这样做,引用ado 
        Dim Con As ADODB.Connection
        Dim rs As ADODB.Recordset
        Set Con = New ADODB.Connection
        strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\计划管理系统.mdb;Persist Security Info=False"
        Con.Open strCon
        Set rs = New ADODB.Recordset
        '添加记录
        strsql="select * from table"
        rs.Open strsql, Con, adOpenKeyset, adLockOptimistic      
        rs.addnew
           rs!字段1=text1.text
           rs!字段2=text2.text
           ........
        rs.update
        rs.close
        set rs=nothing
      

  4.   

    str的值没写对啊,改为这样:
    Str = "select book_no from bookinfo where book_name='" & dcbBookname.BoundText & "'"
      

  5.   

    "select book_no from bookinfo where book_name='" & dcbBookname.BoundText & "'"
      

  6.   

    STR 是保留字,不可以使用的,所有VB的保留字都不能使用,你换个变量就好了啊。