Question

Je développe un CMS que l'utilisation de la base de données basée sur Joomla! Dans db Joomla, nous avons 2 tableau:

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

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

J'ai une question ci-dessous:

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

Et dans la page ASPX, je montre les données comme ça:

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

S'il vous plaît aidez-moi résoudre ce problème? Comment discean entre cela?

Merci beaucoup!

Était-ce utile?

La solution

Vous pouvez vous référer à la title de table Categories par: Categories.title et la title de table Content par: Content.title. Désolé si je mal compris votre question.

Autres conseils

Dans votre sélection, vous pouvez faire comme Alan a dit, et ensuite utiliser à changer ce que vous leur faites référence comme plus tard. (Je ne sais pas spécifiquement ASP, je suis un programmeur PHP, mais je suppose que ce assez similairement).

Quelque chose comme

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

Et vous pouvez alors se référer à categoryTitle ou contentTitle.

Je l'ai fini:)

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

Merci ... Google: -)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top