No.1
1.用TADODataSet控件或是用TADOQuery控件?
我是用TADOQuery2.两者有什么区别吗?
ADOQuery可以用ExecSQL执行SQL语句(不是打开)
ADODataSet有吗?我也不太清楚(没有用过)3.有ADO方式的其他更好的方法吗? 
以后会有

解决方案 »

  1.   

    1.我认为两者都可以。
    2.adoquery可以用语句控制删除,插入,更新等操作,用ExecSQL方法,要是打开就open,他可以说是adodataset和adocommand结合吧,我是这么认为。adodataset所做的功能没有adoquery多,主要是连接数据库,打开等操作,也很好用。
    3,同意楼上。
      

  2.   

    谢谢上面的各位朋友的回答。为了能在TDBGrid上及时显示出加入的新记录,我在TButton中是这么做的:
    ADOQuery1.close;
    ADOQuery1.sql.clear;
    ADOQuery1.sql.add('inster...');
    ADOQuery1.execsql;ADOQuery1.close;
    ADOQuery1.sql.clear;
    ADOQuery1.sql.add('select * from TableName');
    ADOQuery1.open;
    ADOQuery1.last;    //将当前指针指向最后一个记录,即新加入的记录;能告诉我另外一种比这种笨方法更好(更简洁,更高效)的方法吗?谢谢!
      

  3.   

    用ADODATASET吧,直接用ADODATASET1.INSERT就行了
      

  4.   

    ADOQuery.Append;
    ADOQuery.FieldByName('Column1').AsString := 'fsfsdfdsdsfsdrewr';
    ADOQuery.Post;就可以了,和ADOTable一样。
      

  5.   

    我习惯有数据集返回的用adodataset  (select)
    无数聚集返回的用adocommand  (update,insert)
      

  6.   

    一般来说,TADODataSet 的Commandtype属性值都设定为cmdText ,因为TAdoDataSet大都是用来执行SQL命令的。如果你想执行存储过程,那么可以直接使用TAdoStoredProc组件。如果你想要直接存取一个数据表,那么可以直接使用TAdoTable组件。事实上TAdoStoredProc就是封装设定cmmandType为cmdStortedPoroc 的Recordset对象,而TADOTable就是封装设定cmmandType为cmdTable的Recordset对象。不过这并不表示TADODataSet的执行效率比TADOQuery 或TADLOTable来得好。如果你对于B D E / I D A P I 的数据集还不熟悉,那么可以使用TADODataSet做为存取数据的组件。如果你非常习惯B D E / I D A P I 的数据集的使用方法,那么可以使用TADOQery或TADOTable作为存取数据的组件。
      

  7.   

    我已经决定放弃BDE了(老实说,我现在正在将一个基于BDE的程序改写为ADO方式的)。谢谢各位的回答。