会不会用adoconnection就只在它active:=true时连接一次,而用connectionstring就每次都需要重新连接?
还是说二者没什么区别?都会频繁的连接数据库?对性能有何影响?连接池的概念该如何实现或有什么控件?

解决方案 »

  1.   

    没有区别,你可指定ADOQuery的Connection属性,也可以指定它的ConnectionString
      

  2.   

    都是連接數據庫但你用一個ADOCONNECTION管理起來,編一在一個會話才好。不然每開一個QUERY就建立一個連接。會受不了的。 呵呵
      

  3.   

    你说的不错,adoconnection在数据库中只会显示一个连接,
    如果有多个ado组件都是用connectionstring的话,在数据库中会显示多个连接~~
    adoconnection起到一个共用的作用~~
      

  4.   

    先设置好adoconnection连接数据库的字符串。然后把ado组件的connection指向adoconnection就好了。
      

  5.   

    从字面上看,connectionstring是连接的字串,connection应该带有连接的意思吧,不只是字串
      

  6.   

    就是说在adoquery中设置connection比设置connectionstring效率要高?
      

  7.   

    哦,我要在一些通用函数里传入连接串做参数,不知道该传adoconnection还是connectionstring?如果没有效率问题(不会造成频繁连接或者本来adoconnection也是频繁连接),我觉得传入string好。还请指教。
      

  8.   


    传什么连接参数,你的程序中要保证就一个地方用到ADOConnection,其它都连接他就是了,用DataModal,其它各个单元上的Query的connection都连接他
      

  9.   

    只要一个adoconnection,连接好字符串之后其他的数据库控件连接到adoconnection就可以了。
      

  10.   

    那肯定不能傳字符串啊。 傳到一個CONNECTION裏面去,共享連接。其實這個很簡單,你用QUERY用字符串連接數據庫,多打開就明白了。 
      

  11.   

    至於連接池DELPHI沒有這樣的控件也沒有帶這樣的單元,要自己寫。但你現在這樣的情況我覺得沒有必要弄連接池。你現在控制好所有的數據集在與數據庫連接的時候共享一個CONNECTION就OK了。
      

  12.   

    函数的参数这样写就可以,对吗?这样能做到共享一个连接?
    function test(myconnection:TADOConnection):string;
    ...
    另外,如果我没记错,对象做参数时都是引用传递,不知对不对?