<%# DataBinder.Eval(Container.DataItem, "News_ID")%>
下面是我的SQL语句操作的数据库是ACCESS。
SELECT DS_News.*, DS_NewsBody.NewsBody_Body ,DS_News.News_ID as News_ID  FROM DS_News LEFT OUTER JOIN DS_NewsBody ON DS_News.News_ID = DS_NewsBody.News_ID WHERE (DS_News.CT_LOCATION = '"+Str_CTLOCATION+"') AND (DS_News.News_Pass = true) AND (DS_News.News_StartShow <= Date()) AND  (DS_News.News_EndShow >= Date()) ORDER BY DS_News.News_ID DESC";DS_News.News_ID as News_ID  这个被转化在DATAROW中是t0.News.不知道为什么。如果我把<%# DataBinder.Eval(Container.DataItem, "News_ID")%>
改写为<%# DataBinder.Eval(Container.DataItem, "t0.News_ID")%>还是出错。
请问如何解决

解决方案 »

  1.   

    当有两个相同的字段在连接的表中时,后面一个字段会被隐士的转变名称,不然就变成两个相同的列在同一个表中了,这是不允许的。你可以直接这样selete:
     SELECT DS_News.*, DS_NewsBody.NewsBody_Body   FROM ...,然后直接帮定
    <%# Eval("News_ID")%>(VS2005中绑定方式)
      

  2.   

    到查询分析器里面执行下你的sql语句,就知道列名了,没意外的话,应该是excpt1