本帖最后由 pansy5 于 2010-08-16 14:57:35 编辑

解决方案 »

  1.   

    left join
    select a.*,b.name from table3 a left join table1 b on a.table1ID=b.ID
    设计实体类
    class tables
    {
    puublic tables a{get;set;}
    }
    class tables1{}
      

  2.   

    1.你想输出 表1name  表2name  表3id和id
    所欠缺的是sql语句的编写select * from 表3 t,表1 t1,表2 t2 where t.iu_memberid = '" + p_uid + "' and t1.id=t.TABLE1ID and t2.id=t.TABLE2ID  order by t.id desc
    2.示例:
    int userid=5;
                    this.DataList1.DataSource = sublist_news("表三", userid);
                    this.DataList1.DataBind();    public DataTable sublist_news(string tb, int userid)
        {
            SqlConnection strcon = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);
            strcon.Open();
            SqlDataAdapter sda = new SqlDataAdapter("select * from " + tb + " t,table1 t1,table2 t2 where t.iu_memberid = '" + p_uid + "' and t1.id=t.TABLE1ID and t2.id=t.TABLE2ID  order by t.id desc", strcon);
            DataSet ds = new DataSet();
            sda.Fill(ds, tb);
            return ds.Tables[tb];
        }3.
    最后绑定时输出表1表2的名称<asp:TemplateField HeaderText="名  称1">
     <ItemTemplate> <%# Eval("name")%> </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="名  称2">
     <ItemTemplate> <%# Eval("uname")%> </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="id">
     <ItemTemplate> <%# Eval("iu_memberid")%> </ItemTemplate>
    </asp:TemplateField>