1,ADODC与ADODB的区别?2,使用了ADODC控件后,访问SQL数据库,实现插入,修改,删除用什么样的语句,越详细越好!3,怎么样对多个表进行输入,删除操作?

解决方案 »

  1.   

    1,ADODC与ADODB的区别?
    ---------------------------
    具体的不知道怎么说,刚学的时候用ADODC,感觉很不爽,后来用ADODB,感觉还不错
      

  2.   

    2.插入可以使用AddNew语句:
    With Adodc1.Recordset
        .AddNew
        .Fields(0) = XXX
        .Fields(1) = XXX
        '......
        .Update
    End With
      

  3.   

    建议使用ADO,不要使用ADODC控件,ADO更好控制一点,比如对多个表进行输入,删除操作,为了保持数据的完整性,可以使用事务来控制:
    引用ADO后:Private Sub Command1_Click()
        Dim cn As New ADODB.Connection
        '混合验证方式的连接:
        'cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=登陆用户名;Password=登录密码;Initial Catalog=数据库名;Data Source=服务器别名/IP"
        '集成验证的连接:
        cn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=数据库名;Data Source=服务器别名/IP"
        cn.CursorLocation = adUseClient '设置客户端游标
        cn.Open
        On Error GoTo InsertErr
        cn.BeginTrans '开始事务
        cn.Execute ("Insert Into 表1 values('a1','b1','c1')")
        cn.Execute ("Insert Into 表2 values('a2','b2','c2')")
        '......
        cn.CommitTrans '提交事务
        Exit Sub
    InsertErr:
        cn.RollbackTrans '回滚事务
        MsgBox Err.Description
    End Sub
        
      

  4.   

    我也说不好,明确的是一个是控件,一个是对象
    ADODC控件利用控件的属性方法操作数据库
    而ADO利用其相关对象连接数据库,执行SOL命令,查询处理记录集,性能灵活性都要高于ADODC控件
    其实这是理论上的东西,最好找本书看看,要说明白还真不容易,呵呵
      

  5.   

    ADODC是基于ADODB写的控件,C就是Control的意思,用ADODC实际就是在用ADODB要看例子,可以看vb自带的:
    建项目以后,可以选新建窗体,选数据窗体模版,跟着向导一步一步走,有各种例子,用控件的、用类的、用代码的,还有包括主从表处理等
      

  6.   

    它们的名字已经说明了区别
    Active Data Objects Database
    Active Data Objects Data Control
    用了控件,自动就引用了ADODB对象,因为控件的基础就是ADODB。
    第二个问题,用控件后设置属性可以连接数据库和选择表,用ADDNEW,UPDATE,DELETE方法实现添加删除修改
    第三个问题,修改属性即可以改变操作的表。
    Me.Adodc1.CommandType=2 '表操作方式
    Me.Adodc1.RecordSource=操作表名
      

  7.   

    在建立连接和一些简单的应用时,可以用adodc,如果应用复杂了也可以用adodb,这时可以用set把一些adodc的对象复制给新对象。
    如:
    Dim con As Recordset
    Set con = Adodc1.Recordset
    Print con.Fields("bookname")
    你要注意执行这段程序的时候adodc对象应该已经打开了。
    其实还有很多属性可以这样赋值,这样既应用了adodc的图形界面,体现了易用性,又使用了命令行的adodb,体现灵活性。
    其它如dataenvironment也可以这样。
    如:
    dim con as connection
    set con=dataenvironment1.connection1
      

  8.   

    一般不用adodc控件,adodb比较好控制
    在说如果你有10个窗体需要访问数据库,那么每个窗体都要用到adodc,然后连接,绑定
    不如adodb虽然也是定义,但是不需要那些操作,而且修改字段,都比较方便
      

  9.   

    rst.open "iUser" ,cnn,3,2
    这样你就 明白了 set Adodc1.Recordset=rst
      

  10.   

    谢谢大家的留言 ,
    我用的是 DATAENVIRONMENT 连接的数据库,应该也是ADODB的方式吧?还有记录集的问题,添加 删除 修改 查询的时候  记录集应该是什么状态啊,还有窗体登陆的时候,记录集是不是回自动打开,窗体关闭的时候是不是也会影响到记录集?
    这个问题我是找到解决办法了,就是在操作的时候用
               if  condata.rscondata.state=adstateclosed  then
                       condata.rscondata.open
                endif
       想请大家告诉我 这个记录集的具体过程,谢谢