2010-01-12 6 views
1

Si je fais un select sur user.name, user.post, t.name avec t étant tag_name AS t est-il un moyen de résoudre le nom complet en utilisant ADO.NET?Récupère le nom de la table depuis ADO.NET Field?

J'ai trouvé SqlDataReader.GetName mais cela ne m'obtient que name comme premier résultat. Je voudrais savoir s'il appartient à user ou tag_name. Y a-t-il un moyen de me le dire?

Répondre

3

Au moment où les résultats reviennent à ado.net, la table source d'origine des champs a disparu - tout ce que vous avez sont les noms de champs.

1

Ray a raison de dire que ado.net ne vous le donne pas. Ce que j'ai fait dans le passé est d'obtenir le SQL à partir de la procédure ou de la vue stockée et d'effectuer une manipulation de chaîne pour résoudre ce problème.

2

Vous pouvez créer un alias de votre champ avec le nom de la table comme préfixe et lire le nom de champ et de le manipuler dans le client ..

select a.column1 as [users column1],b.column2 as [tag_name column2] from users a  left join tag_name b on a.col = b.col blah blah.... 
+0

hmm, intéressant. +1 –

Questions connexes