我在访问datatable中的DataColumn值时出现问题,其名称System.ArgumentException Column <ColumnName> does not belong to table
出现在某些列中.但是,该列存在于数据库中,但具有不同的大小写.我认为DataTable列名称不区分大小写.任何人都知道我为什么会这样做.在另一台机器上,此代码工作正常.我不认为它与SQL Coallation有任何关系,但在这种情况下,两个SQL服务器上的联合都是相同的.
vpg_awardtype = row["vpg_awardtype"];
vpg_eventcount = row["vpg_eventcount"];
Run Code Online (Sandbox Code Playgroud)
如果我将其更改为以下,那么它正在工作:
vpg_awardtype = row["Vpg_AwardType"];
vpg_eventcount = row["Vpg_EventCount"];
Run Code Online (Sandbox Code Playgroud)
我已经解决了.基本上,当一个DataTable包含一个simillar列名时,其名称仅在Case中不同,即AwardType和awardType是相同的列名,但在拼写情况下只有不同.如果在DataTable内发生此类冲突,则会使对所有DataTable列的访问区分大小写.
在我的例子中,开发人员应用了一些连接来获取数据表中的数据.然而,列的数量没有被过滤,不幸的是,在2个不同的表中,列名称之一是simillar但是用不同的情况写.我无法注意到因为数据表很大.最后我发现了这个问题.因此别名列名之一对我有用.
归档时间: |
|
查看次数: |
21215 次 |
最近记录: |