Système.ArgumentException Colonne <ColumnName> n'appartient pas à la table
J'ai un problème lors de l'accès à un DataColumn de la valeur dans la table de données avec le nom de la System.ArgumentException Column <ColumnName> does not belong to table
se produit pour certaines colonnes. Cependant la colonne existe dans la base de données mais avec une casse différente. J'ai pensé DataTable les noms de colonne sont insensibles à la casse. Quelque 1 ont aucune idée de pourquoi je suis cette. Sur une machine différente de ce code fonctionne bien. Je ne pense pas que cela ait quelque chose à faire avec SQL Coallation mais dans ce cas, le coallation sont les mêmes sur les deux serveurs SQL.
vpg_awardtype = row["vpg_awardtype"];
vpg_eventcount = row["vpg_eventcount"];
Si je l'ai changer pour la suite alors qu'elle travaille:
vpg_awardtype = row["Vpg_AwardType"];
vpg_eventcount = row["Vpg_EventCount"];
Vous devez vous connecter pour publier un commentaire.
Je l'ai résolu. En gros quand un DataTable contient un similaire de nom de la colonne dont le nom est seulement différente, au Cas où je.e AwardType et awardType sont les mêmes noms de colonnes, mais seulement différentes dans l'orthographe des cas. Si de telles collisions se produisent à l'intérieur d'un DataTable Cela rend l'accès à tous les DataTable colonnes comme sensible à la casse.
Dans mon cas, il y a certaines jointures appliquée par un développeur pour obtenir les données dans la table de données. Cependant, le nombre de colonnes n'étaient pas filtrés et malheureusement dans 2 tables différentes l'une le nom de la colonne était similaire, mais écrits avec une casse différente. Je n'étais pas capable de remarquer qu'en raison de la datatable était énorme. Finalement, j'ai trouvé cela la manière dure. D'où l'aliasing un nom de colonne a fonctionné pour moi.