2010-07-25 28 views
0

J'ai une table de base de données où les colonnes sont dans plusieurs schémas. Exemple:DataReader, DataColumn - Puis-je afficher ces colonnes dans un schéma tel que SomeSchema.SomeColumn?

 
SomeTable 
SomeSchema.Column1 
SomeSchema.Column2 
AnotherSchema.ColumnA 
AnotherSchema.ColumnB

je code en utilisant une syntaxe DataTable.Rows[r][c].ToString() et il semble que seule la partie Column1 ou ColumnA est retourné. J'ai besoin d'obtenir le nom complet SomeSchema.Column1 comme maintenant il semble que le code lève une exception Sql avec Column1 pas trouvé. Je suppose que si je peux le référencer comme SomeSchema.Column1 cela corrigera l'exception. Est-ce que je peux obtenir ceci en utilisant un DataTable ou DataColumn ou est-ce qu'il y a une autre approche que je dois prendre pour ceci? Des idées? J'ai cherché Google et ce site avec des mots-clés tels que "C# Datable datacolumn schéma table dbo" et n'ont pas eu beaucoup de chance.

+0

Vous avez des colonnes dans les schémas? Quel SGBD? –

+0

Je suis confus. Si vous obtenez une exception SQL, c'est un problème avec votre requête, pas avec le DataTable. En outre, les DataTables ont des métadonnées; vous pouvez indexer dans un DataRow par nom de colonne. Si le nom de la colonne n'existe pas, votre code ne correspond pas aux noms des colonnes renvoyés par la requête. Sans voir le vrai code et la pleine exception, il est difficile de dire ce qui se passe. –

Répondre

0

LMAO, j'ai travaillé dessus trop longtemps sans interruption je pense ... ce ne sont pas les colonnes qui ont le schéma, c'est la table, donc je pense que je peux ajuster ma requête pour obtenir le nom de la table avec le schéma qui, je pense, va se nourrir directement dans mon code existant et tout sera bien ... Je posterai après il est fait et testé ... soupir ...

+0

Ouais, désolé ... J'ai changé ma requête pour obtenir toutes les tables dans la base de données à partir du nom de sys.tables pour sélectionner schema_name (schema_id) + '.' + nom de sys.tables et je reçois maintenant le nom complet de la table qui devrait éviter l'exception. Aller au lit maintenant ... merci et désolé pour la confusion ... Jason – Jason