我是通过动态的方式连接来连接数据库的(ADOConnection)
但在执行ADOConnection.Connection:=true;的语句时,经常会
失败,我个人认为是该语句的执行速度太快,毕竟和数据库的连接
有个过程。所以经常会失败(不知想法对否?),
 有没有科学的连接方式呢?不仅确保在一定的时间内可以连接成功,
而且速度也比较正常,或者说有什么方法可以优化ADOConnection的连接
呢?能否给一些原代码?
  谢谢!

解决方案 »

  1.   

    真是奇了,如果你的ado的配的connectionstring没错的话,只会是网络不通或是找不到文件了。不可能存在执行速度太快而导致失败啊。我平时写程序还嫌连接的速度慢啊。
      

  2.   

    例,你试试      ADOConnection1.Close;
          ADOConnection1.Connected:=false;
          ADOConnection1.ConnectionString:='';
          str:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=';
          AppPath:=ExtractFileDir(Application.ExeName);
          str:=str+AppPath+'\bsdata\'+Node.Parent.Text;//ttreeview里的一个结点
          ADOConnection1.ConnectionString:=str+'.mdb;Mode=Share Deny None;'+'Extended Properties="";Jet OLEDB:System database="";'+'Jet OLEDB:Registry Path="";'+'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=4;'+'Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;'+'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'+'Jet OLEDB:Create System Database=False;'+'Jet OLEDB:Encrypt Database=False;'+'Jet OLEDB:Don''t Copy Locale on Compact=False;'+'Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
          ADOConnection1.Connected:=true;
          ADOConnection1.Open;
      

  3.   

    ADOConnection.Connection:=true 
    这种连接本身TADOConnection已经封装了.你可以不要考虑.
      

  4.   

    ADOConnection的ConnectionString没有错,但是确实存在上述情况,
    而且比较频繁,希望有什么优化的方式
      

  5.   

    http://expert.csdn.net/Expert/topic/1646/1646977.xml?temp=2.209109E-02