根据sqlCommand="select * from 两个表中"
得到dataset 然后填充到datagrid中就行
2.headText="111";

解决方案 »

  1.   

    1 “tb1”“tb2” 两个表有什么关系没有。 DataColumn c1 = ds.Tables["Employees"].Columns["employeeid"];
    DataColumn c2 = ds.Tables["Territories"].Columns["employeeid"];
    DataRelation rel = new DataRelation("EmployeesToTerritories",
                                         c1, c2);
    ds.Relations.Add(rel);  //关联示例
      

  2.   

    写个存储过程,查询这两个数据库的两个表;
    创建一个临时表来存储这个查询出来的纪录,
    最后在查询这个临时表,用datagrid来显示。
      

  3.   

    http://www.csdn.net/develop/Read_Article.asp?Id=15282
    绝对可行~~~
      

  4.   

    各位老大,请看清条件和问题。思路有了后给一些代码,这是我的第一个c#程序。1、查询2个不同连接的数据库里的不同的表
    2、表的列名没有相同的
    3、查询的结果怎么合成一个表
    4、合成后的表的列名怎样改称我所需要的名称
    5、改完后怎样填到datagrid里面去谢谢!!!
      

  5.   

    用外连接outer join可以把你的表结构拿出来看看,如果表设计的合理的话帮你写sql
      

  6.   

    楼主的想法里面有点问题——如果两个表的记录数不一样,这样表就不一样长,整合到一个DataGrid中去还有意义吗?
      

  7.   

    首先在数据库中根据条件做一个view把两个表联起来,然后根据建好的view做一个dataset,winform中的datagrid帮定这个dataset.然后...
      

  8.   

    一、如果两个表间没有关系,那么这种“合成”就是毫无意义的。你说的那两个表既不在同一个database中又没有任何一列是相同的,这说明它们没任何关系,所以你所要求的“合成”,根本无效。二、如果两表存在关系,比如是一对多的关系,打个比方,表student和scores。它们的结构大致如下:
    student:
            StudentID(PK)
            FirstName
            LastName
            ...
    scores:
            ScoreID(PK)
            ClassName
            Score
            StudentID(FK)
            ...
    一对多的关系是通过scores表中的外键(FK)实现的。这时所谓的“合成”,就是要根据它们的关系将两个表的信息统一在一起。比如“某位学生的分数列表”,“某科所有学生的分数列表”,“某个分数段的所有学生列表”等。对应的SQL语句分别为:某位学生的分数列表:
    SELECT  student.StudentID AS 学号,
    student.FirstName AS 名,
    student.LastName AS 姓,
    scores.ClassName AS 科目,
    scores.Score AS 成绩
    FROM scores RIGHT OUTER JOIN student 
    ON student.StudentID = scores.StudentID
    WHERE (student.StudentID = '学号')某科所有学生的分数列表:
    SELECT  student.StudentID AS 学号,
    student.FirstName AS 名,
    student.LastName AS 姓,
    scores.ClassName AS 科目,
    scores.Score AS 成绩
    FROM scores RIGHT OUTER JOIN student 
    ON student.StudentID = scores.StudentID
    WHERE (scores.ClassName = '科目名称')某个分数段的所有学生列表:
    SELECT  student.StudentID AS 学号,
    student.FirstName AS 名,
    student.LastName AS 姓,
    scores.ClassName AS 科目,
    scores.Score AS 成绩
    FROM scores RIGHT OUTER JOIN student 
    ON student.StudentID = scores.StudentID
    WHERE (scores.Score BETWEEN 分数1 AND 分数2)三、同时,上面的SQL语句中已经将列名替换为其他名字,如"student.StudentID"被替换为"学号",这样在通过ado.net读出来的无论是DataSet还是DataReader,相应的列名称都被转换成了新定义的名字。四、用C#编制数据绑定的代码,如下:  假设已经有了两个建立在SQLSERVER上的数据库db1 和db2,表student在db1中,表scores在db2中,表结构如上所述。在c#的winform工程中,已经加入了一个名为MyConn的SqlConnection,无论它连接的是db1还是db2都没有关系,只要连接所用的用户对两个表都有查询权限及可,还有一个datagrid对象MyDataGrid。此时要将“某位学生的分数列表”读出,可以参考如下代码:......
    using System.Data.SqlClient;
    using System.Text;......
    //SELECT SC.StudentID AS 学号, 
    // ST.FirstName AS 名, 
    // ST.LastName AS 姓, 
    //       SC.ClassName AS 科目, 
    // SC.Score AS 成绩
    //FROM  db2.dbo.scores SC RIGHT OUTER JOIN
    //       db1.dbo.student ST ON SC.StudentID = ST.StudentID
    //WHERE  (ST.StudentID = '学号')String strSql = new StringBuilder("SELECT  SC.StudentID AS 学号, ") 
    .Append("ST.FirstName AS 名, ") 
    .Append("ST.LastName AS 姓, ")
           .Append("SC.ClassName AS 科目, ") 
    .Append("SC.Score AS 成绩 ")
    .Append("FROM  db2.dbo.scores SC RIGHT OUTER JOIN ")
           .Append("db1.dbo.student ST ON SC.StudentID = ST.StudentID ")
    .Append("WHERE  (ST.StudentID = '学号') ")
    .ToString();SqlDataAdapter adp = new SqlDataAdapter(strSql,MyConn);
    DataSet ds = new DataSet();
    adp.Fill(ds,"MyTable");MyDataGrid.DataSource = ds.Tables["MyTable"].DefaultView;....
    我已经编译通过,你可以试试。
    留个email,我把我的c#工程文件给你发过去。
      

  9.   

    可以用select * from 表1 inner join 表2 on 表1.ID = 表2.ID填充到DataSet中啊