c# 连sql server2008,返回列有时出现找不到列

时间:2022-09-02 00:53:40
c# 连sql server2008,返回列有时出现找不到列。请问这什么原因造成的。


同一界面,正常情况多。有时出现找不到列,一旦出现这问题,所有界面都会出错。 程序错误的话,应该所有都错误吧。不然正常情况多,出错情况少。

16 个解决方案

#1


是不是数据库里没资料呢,索引是不是超出了呢,还是把代码贴出来看一下吧,这样也放找不到原因啊!

#2


代码太多了,没发帖。一出错,整个程序全部崩掉。然后有datagrid的时候,就出现列绑定错误。说找不到列。

出错后,按几次f5,界面又能刷正确。数据库数据肯定没变过的。

#3


报错时提示找不到列,你看一下datagird的数据源datatable里面是否有这一列。
估计是你查询语句或者什么没有查询出这一列,而你却往页面上绑了,所以报错了。

#4


引用 3 楼 dopsop110 的回复:
报错时提示找不到列,你看一下datagird的数据源datatable里面是否有这一列。
估计是你查询语句或者什么没有查询出这一列,而你却往页面上绑了,所以报错了。
应该是这样吧

#5


不是有时候
根本就是找不到

你的列跟显示的不匹配
检查你的字段 

#6


引用 3 楼 dopsop110 的回复:
报错时提示找不到列,你看一下datagird的数据源datatable里面是否有这一列。
估计是你查询语句或者什么没有查询出这一列,而你却往页面上绑了,所以报错了。



如果一直这错误,那么应该是我数据源中没有这一列,但是这错误是有时出现。不是经常出现。同一界面,出错了。多按几次F5,又正常了。 而且我确认过数据库列都存在的。

#7


引用 5 楼 fengyarongaa 的回复:
不是有时候
根本就是找不到

你的列跟显示的不匹配
检查你的字段



这个错误是有时出现。 不是经常出现。   现在都正常的。上午的时候出现了几次。

#8


引用 7 楼 xuxing0614 的回复:
引用 5 楼 fengyarongaa 的回复:
不是有时候
根本就是找不到

你的列跟显示的不匹配
检查你的字段



这个错误是有时出现。 不是经常出现。   现在都正常的。上午的时候出现了几次。

数据过多导致的?多少条

把查询语句贴出来看看

#9


引用 8 楼 wxr0323 的回复:
数据过多导致的?多少条

把查询语句贴出来看看


数据过多导致的,那是不是也不应该按下F5又能正常吧。而且出现问题了。不是一个界面的问题。是整个程序都有问题了。

#10


datagrid绑定的列名称和读取的列名称不一样。自己看看

#11


引用 10 楼 xuexiaodong2009 的回复:
datagrid绑定的列名称和读取的列名称不一样。自己看看



这个绑定的列名肯定一样。我本地一直没问题的。放到服务器上有时出现这样的问题。大多数情况都是好的。

#12


好好检查下,有没有可能是和服务器的哪个同名呀

#13


现在没出现问题。

有两个可能。
一、sql2008的补丁没打。
二、多个存储过程用的临时表名字一样。(临时表在使用前都有判断是否存在,有存在删除。原先是这样的,现在是把临时表名字改了。)

我修改了这两个东西。暂时没出现问题。 个人认为第一种原因造成的可能性大点。

#14


应该分析一下你怎么读取数据的,可以把sql语句找出来看看

#15


要学会跟踪呀,vs中的debug跟踪调试,和sql里的事件探查,都可以精确查找问题所在。只要不是思路错误,就要如此调试。

#16


我咋没遇到过呢,楼主

#1


是不是数据库里没资料呢,索引是不是超出了呢,还是把代码贴出来看一下吧,这样也放找不到原因啊!

#2


代码太多了,没发帖。一出错,整个程序全部崩掉。然后有datagrid的时候,就出现列绑定错误。说找不到列。

出错后,按几次f5,界面又能刷正确。数据库数据肯定没变过的。

#3


报错时提示找不到列,你看一下datagird的数据源datatable里面是否有这一列。
估计是你查询语句或者什么没有查询出这一列,而你却往页面上绑了,所以报错了。

#4


引用 3 楼 dopsop110 的回复:
报错时提示找不到列,你看一下datagird的数据源datatable里面是否有这一列。
估计是你查询语句或者什么没有查询出这一列,而你却往页面上绑了,所以报错了。
应该是这样吧

#5


不是有时候
根本就是找不到

你的列跟显示的不匹配
检查你的字段 

#6


引用 3 楼 dopsop110 的回复:
报错时提示找不到列,你看一下datagird的数据源datatable里面是否有这一列。
估计是你查询语句或者什么没有查询出这一列,而你却往页面上绑了,所以报错了。



如果一直这错误,那么应该是我数据源中没有这一列,但是这错误是有时出现。不是经常出现。同一界面,出错了。多按几次F5,又正常了。 而且我确认过数据库列都存在的。

#7


引用 5 楼 fengyarongaa 的回复:
不是有时候
根本就是找不到

你的列跟显示的不匹配
检查你的字段



这个错误是有时出现。 不是经常出现。   现在都正常的。上午的时候出现了几次。

#8


引用 7 楼 xuxing0614 的回复:
引用 5 楼 fengyarongaa 的回复:
不是有时候
根本就是找不到

你的列跟显示的不匹配
检查你的字段



这个错误是有时出现。 不是经常出现。   现在都正常的。上午的时候出现了几次。

数据过多导致的?多少条

把查询语句贴出来看看

#9


引用 8 楼 wxr0323 的回复:
数据过多导致的?多少条

把查询语句贴出来看看


数据过多导致的,那是不是也不应该按下F5又能正常吧。而且出现问题了。不是一个界面的问题。是整个程序都有问题了。

#10


datagrid绑定的列名称和读取的列名称不一样。自己看看

#11


引用 10 楼 xuexiaodong2009 的回复:
datagrid绑定的列名称和读取的列名称不一样。自己看看



这个绑定的列名肯定一样。我本地一直没问题的。放到服务器上有时出现这样的问题。大多数情况都是好的。

#12


好好检查下,有没有可能是和服务器的哪个同名呀

#13


现在没出现问题。

有两个可能。
一、sql2008的补丁没打。
二、多个存储过程用的临时表名字一样。(临时表在使用前都有判断是否存在,有存在删除。原先是这样的,现在是把临时表名字改了。)

我修改了这两个东西。暂时没出现问题。 个人认为第一种原因造成的可能性大点。

#14


应该分析一下你怎么读取数据的,可以把sql语句找出来看看

#15


要学会跟踪呀,vs中的debug跟踪调试,和sql里的事件探查,都可以精确查找问题所在。只要不是思路错误,就要如此调试。

#16


我咋没遇到过呢,楼主