【转】列“xxx”不属于表 Table asp.net

来源:互联网 发布:手机上解压软件 编辑:程序博客网 时间:2024/05/29 14:36

【转】列“xxx”不属于表 Table asp.net

SqlConnection 不要用全局或静态或单例模式 , 否则会出现不同进程进下共用connection的情况 , 特别是在web环境下 , 这将导致使用者获取的dataset不正确 , 从而引发上面我提出的问题 , 解决的方法是在需要做数据连接的地方new connection来使用 , 用后close , 这样就可以避免出现类似于 “xxxxx不属于表 Table ”等一系列的问题了。。。

using (SqlConnection con = OperateDB.GetConnection()) 裡面這個 con 物件......

您在 OperateDB 類別裡面是怎麼使用他的......???

因為 OperateDB.GetDataSet() 裡面應該需要用到 con 物件,

如果您不是在 OperateDB 類別裡面做了特殊處理,就是在 Site() 這個方法所在類別裡面做了處理,

這樣很有可能造成 con 物件產出多個 DataReader,很容易發生 mapping 錯誤的問題......

异常的特点:

一:最大的特点是随机性。会突然报错,说不定是什么时候,有可能是你下一个点击,或者刷新一下页面之后,总之就是出现在数据库有联系的地方(查询,绑定数据控件时)。 
二:报错的多样性。一报错后,千奇百怪的错误也就喷井式爆发,如“列不属于表”,“找不到表0”,“数据转换不成功”等,各种各样都有,但都是与数据库的数据有关。 
三:持续时间比较短。很多页面报错后,刷新几次,或者是等一阵,又正常了,又可以使用了,但可能下一个点击,刷新,就又报错了 
四:越多人使用,网络情况越差,就越频繁。我的系统在公司内部几个开发人员测试没有问题,但上线后,客户公司很多人用,就不断有这个错。而且,有几天网络比较好,就没有发生这错,我以为换了dbhelper已经搞掂了,但这几天又继续报错。  

1、

法名: getList 异常信息: 列“productId”不属于表 Table

NND,过一段时间又出现这样的问题,以为还是那个全局变量的问题,但是整个项目都没有全局变量了

2、

SqlConnection 不要用全局或静态或单例模式 , 否则会出现不同进程进下共用connection的情况 , 特别是在web环境下 , 这将导致使用者获取的dataset不正确 , 从而引发上面我提出的问题 , 解决的方法是在需要做数据连接的地方new connection来使用 , 用后close , 这样就可以避免出现类似于 “xxxxx不属于表 Table ”等一系列的问题了。。。

3、

这个问题可能是由于并发的时候取的数据出了问题,很难找出问题,所以,

4、

到数据库里看看日志,出错就会影响应用池,要重新启动

5、

呵呵,应该是并发问题导致数据超时

6、

建议LZ将上线的东西加上一个日志,因为上线的东西有时错误是很难跟踪的,那你看到的问题又不全面。。

7、

先确定下,你报的这些错不属于连接超时所带来的问题。这些问题归根结底的原因还是在与你代码的问题。

8、

                SqlCommand cmd = new SqlCommand(safeSql, Connection);

原创粉丝点击