形如:
  string sql=  select a.工号,b.姓名 from tableA a,tableB b  where a.ID=b.ID想让dataGird 中显示两个字段,怎么不行呢?采取下列方法,请高手指点一下!
SqlConnection conn=new SqlConnection() ;
SqlCommand mycm=new SqlCommand() ;
SqlDataAdapter mydata=new SqlDataAdapter() ;
   conn.ConnectionString="server=192.168.1.100;database=service;user id=sa;password=";
mycm.Connection =conn;
conn.Open ();
mycm.CommandText=sql;
mydata.SelectCommand=mycm;
DataSet myDs=new DataSet();
         mydata.Fill(myDs,“tableA”);
                                    dataGrid1.DataSource=myDs;为什么不行呀,高手指点一下!?????????

解决方案 »

  1.   

    TO  gj121(IC、IP、IQ卡 统统告诉我密码!)        兄弟,谢谢你的回答,视图这种方法我没有做过!是不是新建一个,dataSet.xsd 还 是怎么做呀,没做过,能不能跟我大体讲一下呢?谢谢!
      

  2.   

    sql语句改成string sql=  select a.工号,b.姓名 from tableA a INNER JOIN tableB b  on a.ID=b.ID应该就可以了
      

  3.   

    TO  Judges(随便什么都可以么?) ( 
        我现在还没看一下,我想先问你一下,这两句在sql 中应该一样的呀,你怎么认为呢
      

  4.   

    两个办法:
    一个就是你所采用的join查询.
    第二个是批次查询,然后分别填充到DataSet的数据表中,把这些DataTable用关系联系起来,这样数据量小得多,速度会快很多.忘了join查询,这不是ado.net的真意,推荐<ADO.NET技术内幕>这本书,里面会告诉为什么.另外DataSet能处理三维的表,这是概念是很重要的.
      

  5.   

    不知道你的没有结果是什么意思  照这个方法 应该可以出来数据集的  你在页面上面应该有绑定的吧。别忘记 dataGrid1.DataBind();
    我一般是用join的  呵呵
      

  6.   

    TO:  Judges(随便什么都可以么?) 
           按照JOIN这种方法是可以,但是这是为什么呢,能不能讲解一下呢? 
    关于你说的dataGrid.dataBind() 我是用
    this.dataGrid1.SetDataBinding(dataSet1,dataSet1.Tables [0].ToString ());
    也可以!数据绑定是不是有多种方法呀?
      TO: tajlolo(tajlolo)
           按你那种采取第二种方法,我有点理解不透!大约布骤是不是这样的呢?:
           
                   DataSet myDs=new DataSet();
                   select * from tableA
                   select * from tableB  
                   mydata.Fill(myDs,“tableA”);
                   mydata.Fill(myDs,“tableB");
                   myDs.merge(table1,table2)  //看资料这是合并的意思!
    但是我想要的字段怎么显示?还有 两个表之间是怎么关联的呢?不会是自动搜询相同字段吧?,能不能给我讲一下呢?谢谢!        
      

  7.   

    mydata.Fill(myDs,“tableA”);
    dataGrid1.DataSource=myDs.Tables["tableA"];
      

  8.   

    TO :hdt(接分接出个星星) 
        你这个应该是对一个表操作的吧!
      

  9.   

    你把数据库两个表的数据,fill 到一个datatable 里不就可以拿
      

  10.   

    TO :hdt(接分接出个星星) 
        fill 到一个datatable 里当然可以,但是我想要的字段怎么显示?还有 两个表之间是怎么关联的呢?不会是自动搜询相同字段吧?,能不能给我讲一下呢?谢谢!        
      

  11.   

    用下面的sql语句:
    如果你用的SqlServer,就在查询分析器里,新建一视图
    如果你用的Access,就新建一查询,
    for example :select A.column1 A.column2 from A where A.column1=B.column1 and
    B.column2=A.column2 
    然后绑定Datagrid,就可以了!
      

  12.   

    A.column1 A.column2 之间应有个逗号;