用delphi开发一个MIs,一般应该用几个AdoConnection组件,还是建立dataMoudle,共用一个AdoConnection组件?不同的方法,对系统性能有何影响?另外,是否需要查询完就关闭AdoConnection与数据库的连接,再次操纵数据库时重新建立连接?不同的方法,对系统性能有何影响?

解决方案 »

  1.   

    用delphi开发一个MIs,一般应该用几个AdoConnection组件,还是建立dataMoudle,共用一个AdoConnection组件?不同的方法,对系统性能有何影响?另外,是否需要查询完就关闭AdoConnection与数据库的连接,再次操纵数据库时重新建立连接?不同的方法,对系统性能有何影响?
    ---------------------
    DataMoudle是要用的,同时建议在当中还使用多个ADOConnection组件,这主要是考虑不同状况下使用。很多东西都只是相对的,所以尽可能去考虑当前状况做出选择。
    对于操作同一个数据库的话,非必要情况下还是建议只建立一个连接,如此可以在一定程度上减少对数据库系统的资源消耗,特别是有事务处理的时候更需要考虑事务的完整性,以及可操作性,不管是否启动事务,数据库系统都会在一定条件下对相关数据进行锁定(包括记录行锁定、页锁定、表锁定)。那么在多用户的情况下当然为了互不影响那么就需要各自在自己的连接上面启动自己的事务。另外就是查询完数据之后最好还是断开连接,如此能减少数据库的系统资源消耗,每建立一个连接,那么数据库系统都需要分配一定的系统资源来进行服务。当然重复的连接又会造成作业系统的性能变差。这主要考虑一个作业系统及数据库系统之间性能调配及平衡分配。
      

  2.   

    看项目的大小了,如果项目大,我建议使用dataMoudle,用一个AdoConnection,每个数据库表用一个ADOTable,更改库结构时候只需要更改一个ADOTable就可以了,另外由于共用了一个ADOTable也减少了ADOTable更新时带来的麻烦。
      

  3.   

    dataMoudle有利于集中管理数据检索控件
      

  4.   

    这还是问题么?不论大小我建议使用DATAMOUDLE不论是设计还是维护的时候都方便,而且节约
      

  5.   

    建议使用dataMoudle   比较方便
      

  6.   

    datamodule在以后维护系统时优点会显示出来,便于管理,是否使用单个ADOCONNECTION要根据系统的大小而定,一般用一个就可以了。
      

  7.   

    我知道应该使用datamodule,有利于今后维护等。但是,是否需要查询完就关闭AdoConnection与数据库的连接,再次操纵数据库时重新建立连接?
      

  8.   

    不要重新连接啊!adoquery.requery 或者adotable.reuqery就可以了!