我是使用基于数据库的Joomla开发CMS!在的Joomla分贝,我们有2表:

+----------+
|Categories|
+----------+
id
title
...

+-------+
|Content|
+-------+
id
title
catid
...

我有下面的查询:

SqlQuery q = new Select("*")
                         //.Top("1")
                         .From(JosContent.Schema)
                         .InnerJoin(JosUser.IdColumn, JosContent.CreatedByColumn)
                         .InnerJoin(JosCategory.IdColumn, JosContent.CatidColumn)
                         .Where("catid").IsEqualTo(catId);

和在ASPX页,我显示这样的数据:

Tite : <%# DataBinder.Eval(Container.DataItem, "title") %>
In category : <%# DataBinder.Eval(Container.DataItem, "title") %> 
// Category tite not Content title, but ASP.NET think it is Content title :-(

请帮我解决这个问题?如何在之间discean?

非常感谢!

有帮助吗?

解决方案

可以指title表由CategoriesCategories.titletitle表由ContentContent.title。很抱歉,如果我误解你的问题。

其他提示

在你的选择,你可以不喜欢艾伦说,然后使用来改变你作为以后参考他们什么。 (我不知道具体的ASP,我是一个PHP程序员,但我认为它相当与之相似)。

的东西

SELECT *,Categories.title AS categoryTitle,Content.title AS contentTitle ... ...

然后可以参考categoryTitle或contentTitle。

我已经完成它:)

SqlQuery q = new Select("*", "jos_Categories.title AS 'CatTitle'")
                         //Select("*", "CatTitle = jos_Categories.title")
                         //Select("*", "CatTitle = JosCategory.TitleColumn")
                         //.Top("1")
                         .From(JosContent.Schema)
                         .InnerJoin(JosUser.IdColumn, JosContent.CreatedByColumn)
                         .InnerJoin(JosCategory.IdColumn, JosContent.CatidColumn)
                         .Where("catid").IsEqualTo(catId);

谢谢...谷歌: - )

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top