none
求 Column 'ColumnName' does not belong to table Table 错误原因,解决方法 RRS feed

  • 问题

  • 从数据库中返回的数据存在 DataSet 中,再从 DataSet 中取出 DataTable ,最后循环 DataRow 取出相关数据信息。可是,在捕获错误日志中得到这样的错误信息。
    System.Web.HttpUnhandledException: Exception of type 
    'System.Web.HttpUnhandledException' was thrown. ---> System.ArgumentException: Column 'M_Bgroud' does not belong to table Table.
       at System.Data.DataRow.GetDataColumn(String columnName)
       at System.Data.DataRow.get_Item(String columnName)
    可是数据库字段 M_Bgroud 确实存在,而且存储过程返回的数据正常。这个问题不是总发生,偶尔出现,不知道是什么原因。愿广大高手帮忙解决一下。
    万分感谢!
    2009年6月15日 8:23

答案

全部回复

  • 你好!
         检查一下是否每次都把M_Bground列放到了DataSet中!只在数据库中有这个字段不能代表DataSet中也有啊!
    周雪峰
    2009年6月15日 9:04
    版主
  • 你好!
          感谢你的回复。
          字段M_Bground在DataSet中。只是偶尔报错,大部分时间还是正常的。如果按你说的DataSet中没有这个字段,那就会一直报错了。
    这个错误是我从错误日志中找到的,我用我的账户登录访问页面,刷新都没有问题。

    2009年6月15日 9:13
  • 你好,

    当你写入上面的错误信息到日志时,添加代码去检查DataTable的column去看是否存在这一列。


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    2009年6月17日 3:22
    版主
  • 你好,

    因为你没有提供必要的信息跟贴,我们把问题的类型改为讨论.如果你有时间关注这个问题和提供必要的信息,请把类型改回为问题,通过帖子顶部的”Change Type”选项。如果问题已经解决,我们希望你能够共享解决方案以便这个答案能够被其他有同样问题的论坛成员看到,谢谢你
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    2009年6月22日 7:18
    版主
  • 你好,请问你的问题解决了吗?可以告诉我问题的解决方法吗?我也是出现和你一样的问题呢,谢谢你了,呵呵。。

    2009年6月24日 5:41
  • LZ,您好,您可以告诉我你是怎么解决的吗,我现在也碰到这样的问题。
    2009年8月12日 15:31
  • 你好,检查数据类型,特别是数据库数据为Null值,以及空值。存储过程没有问题,而绑定的时候有问题,说明数据绑定的时候出现问题,一般是类型转换出现问题!请楼主测试一下!

    谢谢!
    jon.valett@gmail.com
    2009年8月12日 16:00
    版主
  • 我的不是绑定的时候出现问题的,因为ui层都用List<model>,而是在dataset读取到List<model>的时候错误的。找了半个月了,还是没有解决,大哥们,帮帮我啊

    2009年8月13日 1:29
  • 建议一下,用强类型数据集吧
    2009年8月13日 1:32
  • 我的不是绑定的时候出现问题的,因为ui层都用List<model>,而是在dataset读取到List<model>的时候错误的。找了半个月了,还是没有解决,大哥们,帮帮我啊

    你好,能提供部分相关代码吗,没有代码我也不太好分析,只是初步判断可能类型转换时出错了。

    jon.valett@gmail.com
    2009年8月13日 16:25
    版主
  • 这个问题已经搞了几个月了,始终解决不了,郁闷至极了,大家解决了的请把解决方案贴上来吧
    2009年10月19日 11:16
  • 这种错误一般就是直接将一个Datatable的列赋值给另外一个DataTable的列
     解决办法是经DataTable的列的值赋值给另外的那个DataTable对应列的值,而不是直接用DataColumn=DataColumn的形式

    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://blog.tanging.net
    2009年10月19日 11:26
    版主