string strSql="select .news_id,n.news_name,n.news_text,n.news_owner_name,n.news_owner_id,n.news_time,u.* from news_info n join user_info u on n.news_owner_id=u.user_id where news_id="+news_id;
       string strSql2="select r.re_id,r.re_name,r.re_text,r.re_owner_name,r.re_owner_id,r.re_data,u.* from re_news_info r join user_info u on r.re_owner_id=u.user_id where re_news_id="+news_id; SqlDataAdapter ad=new SqlDataAdapter(strSql,cn);
SqlDataAdapter ad2=new SqlDataAdapter(strSql2,cn);
cn.Open(); DataSet ds=new DataSet();
ad2.Fill(ds,"user_info");
      ad.Fill(ds,"news_info");


cn.Close();
newsbody.DataSource=ds;
newsbody.DataBind(); 
  两块数据 放到 一个dataset  中去 了 然后放到一个datagrid 中去。
<a herf ='<%# DataBinder.Eval(Container.DataItem,"re_name") %> '>  
我绑定 语句是 上面所写得,, 但是它可以显示第一个 strSql  语句中得news_info 中得字段,而第二个 strSql  语句中得re_info 表中得 字段 错误返回说 没有找到字段,
不知道 这个 方法可以 实现 , 绑定语句怎么写?
哦再问一个问题啊 这里 惠安要给分 , 分刚刚注册又多少,会不会用完??那里得分?

解决方案 »

  1.   

    SqlDataAdapter ad2=new SqlDataAdapter(strSql,cn);
    SqlDataAdapter ad2=new SqlDataAdapter(strSql2,cn);
    cn.Open();
    上面少定义了 一个  补上
      

  2.   

    不能这么做,你的两个DataTable结构不一样,怎么绑定到同一个DataGrid???用两个DataGrid或者修改你的Sql语句使其查询字段一样(select news_Id as id ... )
      

  3.   

    哦 这样得啊  看来我走了死路。。 我后来把它 union 了一下, 这样字段名字就相同了, 就可以显示了 呵呵 , 但是还是不怎么好啊,,
    但是还要看看别的热  不同得看法···
      

  4.   

    不会给完分的!!!!
    因为你用了两次填充(应该是的吧)那么你的dataset里面就对应的有两个datatable,
    newsbody.DataSource=ds;如果你只是用这个将等效与
    newsbody.DataSource=ds。tables[0].defaultview;就是你第一次查询填充的表
      

  5.   

    在这里最好就是用sql语句来做是最简单的也是最合理的
      

  6.   

    楼上得 可以给个 建议吗  sql 语句怎么写??