Connstr =
    'Provider=SQLOLEDB.1;Password=hymake;' +
    'Persist Security Info=True;' +
    'User ID=sa;' +
    'Initial Catalog=NorthWind;' +
    'Data Source=HAB\HAB';var
  FConn: _Connection;
  rs:_RecordSet;
begin
  FConn := CreateOleObject('ADODB.Connection') as _Connection;
  rs := CreateOleObject('ADODB.RecordSet') as _RecordSet;
  FConn.Open(Connstr, '', '', -1);
  rs.Open('select * from Customers',FConn,1,1,1);
  ADOQuery1.Recordset:=rs;
end;
以上是创建原生的Ado连接,我想问一下,这样是不是会比delphi原来封装好的Ado效率来的高?

解决方案 »

  1.   

    据我所致,delphi封装的的是原生的Ado
    而我直接操作底层,应该是会比较效率一点,,,
    这只是我的理解,欢迎大家讨论或者批判
      

  2.   

    应该是一样的吧,delphi也不至于那么差
      

  3.   

    直接对Recordset进行操作应该实很快的
      

  4.   

    直接用原生ADO会省去一些VCL类的创建、调用时间,
    但是总的来说对效率改进不大。建议你看看李维那本《Delphi 5.X ADO_MTS_COM+高级程序设计篇》,
    里面有对ADO的优化设置。
      

  5.   

    据我所知,很多做大中形项目的,都是自己在封装_RecordSet来的