假设有两个数据表,两个表都有一个相同的字段叫username(内容是一样的) 
一句sql同时读出两个表的所有数据。。在页面中用repeater拌定,我直接拌定username结果出错。好像因为两个表都有了username所以无法区分请问如何区分是拌定在哪个表的字段? 嘻嘻。我哥忙,叫我帮他问。谢谢你们哦。

解决方案 »

  1.   

    用表的别名查询select a.*,b.column1,b.column2 from 表1 a inner joiner 表2 b 试试
      

  2.   

    是的。。他是用
    select articles.*, users.* from articles inner join users on articles.username=users.username where articles.articleid= *****
    这样来写的。但是页面拌定了username结果出错。页面是有拌定两个数据表的很多字段
    如果去掉username这个字段的拌定其他的就全部显示正常。因为两个数据表只有username这个字段相同。
      

  3.   

    异常详细信息: System.Web.HttpException: DataBinder.Eval:“System.Data.DataRowView”不包含名称为 username 的属性。堆栈跟踪: 
    [HttpException (0x80004005): DataBinder.Eval:“System.Data.DataRowView”不包含名称为 username 的属性。]
       System.Web.UI.DataBinder.GetPropertyValue(Object container, String propName)
       System.Web.UI.DataBinder.Eval(Object container, String[] expressionParts)
       System.Web.UI.DataBinder.Eval(Object container, String expression)
       ASP.viewarticle_aspx.__DataBind__control3(Object sender, EventArgs e) in c:\inetpub\wwwroot\mybbs\ViewArticle.aspx:21
       System.Web.UI.Control.OnDataBinding(EventArgs e)
       System.Web.UI.Control.DataBind()
       System.Web.UI.Control.DataBind()
       System.Web.UI.WebControls.Repeater.CreateItem(Int32 itemIndex, ListItemType itemType, Boolean dataBind, Object dataItem)
       System.Web.UI.WebControls.Repeater.CreateControlHierarchy(Boolean useDataSource)
       System.Web.UI.WebControls.Repeater.OnDataBinding(EventArgs e)
       System.Web.UI.WebControls.Repeater.DataBind()
       mybbs.viewarticle.binddata() in c:\inetpub\wwwroot\mybbs\viewarticle.aspx.vb:44
       mybbs.viewarticle.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\mybbs\viewarticle.aspx.vb:36
       System.Web.UI.Control.OnLoad(EventArgs e)
       System.Web.UI.Control.LoadRecursive()
       System.Web.UI.Page.ProcessRequestMain() 
      

  4.   

    异常详细信息: System.Web.HttpException: DataBinder.Eval:“System.Data.DataRowView”不包含名称为 username 的属性。堆栈跟踪: 
    [HttpException (0x80004005): DataBinder.Eval:“System.Data.DataRowView”不包含名称为 username 的属性。]
       System.Web.UI.DataBinder.GetPropertyValue(Object container, String propName)
       System.Web.UI.DataBinder.Eval(Object container, String[] expressionParts)
       System.Web.UI.DataBinder.Eval(Object container, String expression)
       ASP.viewarticle_aspx.__DataBind__control3(Object sender, EventArgs e) in c:\inetpub\wwwroot\mybbs\ViewArticle.aspx:21
       System.Web.UI.Control.OnDataBinding(EventArgs e)
       System.Web.UI.Control.DataBind()
       System.Web.UI.Control.DataBind()
       System.Web.UI.WebControls.Repeater.CreateItem(Int32 itemIndex, ListItemType itemType, Boolean dataBind, Object dataItem)
       System.Web.UI.WebControls.Repeater.CreateControlHierarchy(Boolean useDataSource)
       System.Web.UI.WebControls.Repeater.OnDataBinding(EventArgs e)
       System.Web.UI.WebControls.Repeater.DataBind()
       mybbs.viewarticle.binddata() in c:\inetpub\wwwroot\mybbs\viewarticle.aspx.vb:44
       mybbs.viewarticle.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\mybbs\viewarticle.aspx.vb:36
       System.Web.UI.Control.OnLoad(EventArgs e)
       System.Web.UI.Control.LoadRecursive()
       System.Web.UI.Page.ProcessRequestMain() 
      

  5.   

    select username1=a.username,username2=b.username
    from a,b
    where a.**=b.**
      

  6.   

    你绑定username1跟username2就OK啦
      

  7.   

    但是两个username内容是一样的。而且是唯一的。只显示一个就可以。需要两个都拌定吗?
      

  8.   

    楼上的方法都不错啊!再不行就一个字段一个字段的读出来,再绑定啊!
    Select a.col1,a.col2,a.username as username ,b.col1,b.col2,b.username as username2
    From a inner join b on a.username=b.username
      

  9.   

    如果用别名:articles.username   users.username  拌定的时候怎么拌?
    <%#DataBinder.Eval(Container,"DataItem.username") 这样出错了。
      

  10.   

    汗颜结果是这样解决了。。需要这么复杂么?有没简单点的方法?"SELECT articles.*, articles.username AS username1, users.*, users.username AS username2 FROM articles INNER JOIN users ON articles.username=users.username WHERE articles.articeid= " & articleid