none
两个datatable间联合查询 主键 外键 RRS feed

  • 问题

  • 两个datatable:

    StudentId, Class,

    1, A

    2, B

    StudentId,Name,Age

    1,Wang,22

    2,Li,21

    要迅速根据StudentId得到第二张table里面的name和age如何做到?

    在sql里面很好操作,但是在dataset里的datatable里就很麻烦,要做expression的话一个一个取出来很慢,不知道它是怎么个方式去搜索查询的。有没有好的方法?或者类似于sql select的语句?或者把两张表merge起来做全表,然后根据id来查到row,再找column比较快?

     

     

     


    :)Ex
    2010年12月10日 3:39

答案

  • dear
    你可以试试使用Datatable.Merge(),合并table之后来查询,建议使用DataViewx来处理查询动作
    http://msdn.microsoft.com/zh-cn/library/system.data.datatable.merge%28VS.80%29.aspx

    [ADO.NET] 如何使用 DataView 物件(一) / 搜尋 過濾 資料
    http://www.dotblogs.com.tw/yc421206/archive/2009/10/18/11095.aspx


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2010年12月17日 6:27

全部回复

  • 一般直接从数据库重新select比较快,数据库里有索引可以用来加速查询。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2010年12月10日 4:27
    版主
  • dear
    你可以试试使用Datatable.Merge(),合并table之后来查询,建议使用DataViewx来处理查询动作
    http://msdn.microsoft.com/zh-cn/library/system.data.datatable.merge%28VS.80%29.aspx

    [ADO.NET] 如何使用 DataView 物件(一) / 搜尋 過濾 資料
    http://www.dotblogs.com.tw/yc421206/archive/2009/10/18/11095.aspx


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2010年12月17日 6:27