怎样能够让dbgrid连接多个数据源呢?我想把多个table的数据显示在dbgrid,谢谢回答

解决方案 »

  1.   

    用query吧,
    query.sql.add('select table1.fieldnames, table2.fieldnames from where ??');
      

  2.   

    可以设置多个datasource1.2.3
    然后根据需要设置dbgrid.datasource选项应该可以
    可能和你想要的一次显示多个表不同
    还是放在sql语句中吧
      

  3.   

    个人感觉没有什么办法,因为dbgrid都是关联单一数据集的,你不如使用stringgrid,当数组赋值好了,这样不用使用多个datasource,只要一个query就足够了
      

  4.   

    其实,还是联结查询速度最快,因为那时候sql语法分析只有一次,虽然时间长一点,但是比起多个sql分析总是相对快一些的
      

  5.   

    如果一个有100条记录表,如果我使用5个线程控制5个query,第一个query查找范围是1-20条记录,第二个query查找21-40条记录......依次类推下去.这样总比使用单个线程只用一个query快,因为它一个自己承担了1-100条记录
      

  6.   

    如果真的这样的话,那么query会自己实现多线程查询,而不会有你手动完成的,这样既浪费资源又占用了数据库服务器的session数量,如果你的客户程序广为流传的话,我像你的服务器该崩溃了!
    不过这样也正好推动了硬件业的发展,呵呵
      

  7.   

    query.sql.add('select table1.fieldnames, table2.fieldnames from where ??');
      

  8.   

    SQL语句不可能效率比用组件低,因为组件归根结底还是调用DBMS的SQL语句。
    建议从以下两方面看看:
    1。做个存储过程,可能要快一点
    2。做索引,注意要与where 语句的先后关系结合,否则不起作用。
    另外如果是SQLServer你可以用查询分析器查询后,看多表连接查询最浪费时间的地方在那里,然后针对性处理。
      

  9.   

    使用同步多线程可以提高查询速度,可以让用户不再看见那个该死的SQL符号的沙漏,至少他已经决了用户等待的问题
      

  10.   

    可以用lookup字段实现,但我觉得还是用联合查询来的方便。一方面db自已会优化了查询,手工方式不见得比其好!