table和query控件难道不能直接连库??既然有这两个控件了,还有必要用Tdatabase吗?用Tdatabase的好处是什么?

解决方案 »

  1.   

    用database好处有二:
    1.让所有table和query和database连,database和库连,这样库变了这改动database的属性就可以了
    2.设有密码登录的数据库每次都要求你输入用户名和密码,database有个loginprompt属性,设为false,并把其params属性设好数据库用户名和密码,以后再连库就不用输用户名和密码了.这是table和query达不到的.
      

  2.   


    TDataSet 是 TTable 和 TQuery 的父类。对 TTable TQuery 的操作,实际在很大程度上也是对 TDataSet 的操作。
      

  3.   

    楼主还在用BDE吗?建议放弃之吧
      

  4.   

    用不用BDE主要看是什么数据库,如果支持ADO最好用ADO,如果不支持用BDE也得用BDE。
      

  5.   

    Tdatabase中数据库别名属性用来和存在的bde别名相连,比如别名为A。
    设置好后在设置databasename属性,如B,其他table控件和query控件再设置databasename属性为B,这时所有的table和query控件都不直接连库,而是通过database控件和库相连。
    如果在DATABASE中,我把databasename的属性也设置为A,TABLE与QUERY的databasename的属性也为A,那摸这时table和query控件是不是直接连库呢?
      

  6.   

    似乎直接用table和query控件连接库也能满足好处1吧,难道用DATABASE的好处仅仅是因为登录库时不用输入用户名和密码??
      

  7.   

    TDataBase保存了真个连接的运行环境,不用它,TTable或TQuery就要直接连接数据源,每一个TTable,TQuery连接都要站用一个连接,非常浪费资源,而且后台数据库不允许过多的连接,所以
    需要有TDataBase建立一个连接TTable或TQuery共享这个连接.在ADO中就是TADOConnection.
      

  8.   

    似乎直接用table和query控件连接库也能满足好处1吧,难道用DATABASE的好处仅仅是因为登录库时不用输入用户名和密码??
    第一点是你的库变动并不是库本身变动,如添加一张表,而是比如你原来连一个sqlserver库,现在连一个库结构基本一样的access库,或者原来的sqlserver库的ip地址为10.10.10.2,现在变为10.10.10.3,你想象如果不用database是不是每个table和query的属性都要改?而用database只改database的属性就可以了。