Frage

ich ein CMS entwickle die Datenbank auf Joomla benutzen! In Joomla db, haben wir 2 Tabelle:

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

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

Ich habe eine Abfrage unter:

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

Und in der ASPX-Seite zeige ich Daten wie folgt aus:

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 :-(

Bitte helfen Sie mir das Problem beheben? Wie zwischen dem, discean?

vielen Dank!

War es hilfreich?

Lösung

Sie können auf die title von Categories siehe Tabelle durch: Categories.title und der title von Content Tabelle durch: Content.title. Sorry, wenn ich Ihre Frage falsch verstanden.

Andere Tipps

Ihr wählen könnten Sie tun, wie Alan sagte, und dann AS verwenden, um zu ändern, was Sie ihnen, wie später verweisen. (Ich weiß nicht, speziell ASP, ich bin ein PHP-Programmierer, aber ich nehme an, es ziemlich identisch wie).

So etwas wie

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

Und dann können Sie auf categoryTitle oder contentTitle beziehen.

Ich habe es fertig:)

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);

Danke ... Google: -)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top