在vb中,使用ado对象进行连接sql数据库library,在数据库中有customer表,
在前台实现在textbox中输入客户号(cus_id),搜索出这个客户的所有记录,表现
在datagrid中.   小弟不知道ado的的datasource应该等于什么.大家看下面的程序dim cnn as adodb.connection
dim rs as adodb.recordsetPrivate Sub Form_Load()
    set cnn=new connection
    cnn.connectionstring="....."
    cnn.open
    set rs =new recordset
    rs.open "select * from customer", cnn
    set datagrid1.datasource=rs
End Sub这段代码有错吗?为什么在运行的时候老提示我"7004 错误,  this is not bookmakable"?有好人愿意给一段的完整的代码?昨天我也上来问了,可大家支的招都不怎么好使,
也不知是怎么的.大家多来指点一下好?我急着用,谢谢大家了~~~

解决方案 »

  1.   

    可以通过adodc控件连接。DataSource 属性
          返回或设置一个数据源,通过该数据源,数据使用者被绑定到一个数据库。语法object.DataSource [=datasource]DataSource 属性的语法由如下部分:部分 描述 
    object 一个对象表达式,其值为“应用于”列表中的一个对象。 
    datasource 一个对象引用,作为一个数据源限定。包括ADO Recordset 对象,以及定义为类或用户控件(DataSourceBehavior 属性 = vbDataSource)。 
    说明使用 Set 语句设置 DataSource,如下所示:Set Text1.DataSource = ADODC1注意 两个旧的控件,Data 控件和 RemoteData 控件,可以作为数据源使用,然而,您不能在运行时将另一个控件或对象的DataSource 属性设置为这两个控件之一。例如,下列代码将会失败:Set Text1.DataSource = Data1    ' 将会失败!您不能在运行时将DataSource 
                                  ' 设置为一个内部 Data 控件。要将 Data 控件或 RemoteData 控件之一作为数据源使用,您只能在设计时设置绑定控件的 DataSource 属性。
      

  2.   

    谢谢楼上的指点,
    我是想用ado对象实现,那该怎么办呢?
      

  3.   

    dim cnn as adodb.connection
    dim rs as adodb.recordsetPrivate Sub Form_Load()
        set cnn=new adodb.connection
        set rs =new adodb.recordset
        cnn.connectionstring="....."
        cnn.open
        rs.open "select * from customer", cnn,adOpenStatic, adLockReadOnly
        set datagrid1.datasource=rs
    End Sub
      

  4.   

    不行的,这样写还是连不上的,启动的时候会出现"7004错误,this is not bookable",
    可能是datagrid控件和一般的数据删格控件不同的原因.