C#系统性能优化问题 每次查询的结果是不是都有值啊?建议你try catch一下 catch到错误的时候把 dt 写到日志里分析分析 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 dt=si.GetSoDetailInfo(fdClNo); dtLog=si.GetLog(fdClNo);CLNo.Text=dt.Rows[0]["fdClNo"].ToString();你有3个地方用到fdClNo 具体哪行出错呢?去看子函数 是在 CLNo.Text=dt.Rows[0]["fdClNo"].ToString();这一行出错.有时侯还会出现这种情况,原本查询A部门的资料,但出现的结果却是B部门的资料,跟踪进去,查询条件的确是A部门的. 出现这种情况后,有时过几分钟就自动恢复正常了. 你试一下用foreach,这个比较稳定 foreach,怎么用呢?我现在是只有一行记录,要把里面的值取出来. 跟踪一下sql执行情况 看sql 执行的具体语句和结果 Sql语句是没有问题的,把具体Sql语句放到Sql Server 的查询分析器执行都是正常的,并且,郁闷的是,过一段时间它自己就恢复正常了. 问题是否是缓存问题?检查一下.另外你为什么不在ServerItem类的Dispose()方法中进行ServerItem.connection.Close()操作呢,而需要在用using语法的同时还需要自己Dispose()? 在处理的时候,已经在ServerItem类的Dispose()方法中进行ServerItem.connection.Close()了,曾经考虑是不是using这种方法不稳定,没能及时关闭数据库连接,所以又在上面的using 里增加了si.connection.Close(); 在ServerItem类的Dispose()方法中是先判断数据库连接状态是否关闭,如是Open,则close. 在什么地方检查缓存呢?这道没有做 为了优化系统,先前从数据库中读取系统里一些数据的配置,改为从生成好的xml里读取.虽多方设法,仍未能解决. 恳请各方高手指教.谢谢 si 被清除了当然会有问题问题是:dt指向NULL了 建议 using(ServerItem si=new ServerItem(ConnStr)){dt=si.GetSoDetailInfo(fdClNo); dtLog=si.GetLog(fdClNo);si.connection.Close(); if(dt.Rows.Count>0){ CLNo.Text=dt.Rows[0]["fdClNo"].ToString();SoNo.Text=dt.Rows[0]["fdSoNo"].ToString();BusinessNo.Text=dt.Rows[0]["fdFactoryNo"].ToString(); }}如果还有问题 就在GetSoDetailInfo(fdClNo);中了 从数据库里查询结果后,存放到DataTable 里,不是就和数据库连接没有问题了吗?直接操作本地的DataTable.对于建议: 建议 using(ServerItem si=new ServerItem(ConnStr)){dt=si.GetSoDetailInfo(fdClNo); dtLog=si.GetLog(fdClNo);si.connection.Close(); if(dt.Rows.Count>0){ CLNo.Text=dt.Rows[0]["fdClNo"].ToString();SoNo.Text=dt.Rows[0]["fdSoNo"].ToString();BusinessNo.Text=dt.Rows[0]["fdFactoryNo"].ToString(); }}等同于是把显示记录放在Using 内部,可我是在using外部就定义好了DataTable,这样有什么影响吗? 在运行的过程中,出现不稳定的现象:出现下面的错误信息. 列“fdClNo”不属于表 QueryResult。 可事实上是有fdClNo这个字段,并且也是有值的-------------------------------------------------GetSoDetailInfo(fdClNo);这个方法返回的表结构不对检查这个方法肯定是这里的问题 看看你返回的表里所有的Columns都是什么应该就是问题所在了 如果是表结构不对,我查询语句里写的就是fdClNo,这边也获取dt.rows[0]["fdClNo"].ToString()假如说表结构有问题,应该总是报错才对呀,可停一会儿它自己就又好了.这是让我郁闷的 GetSoDetailInfo(fdClNo)是不是返回的 dt 是静态的哦。 richTextBox中使用了keydown事件 不能输入汉字 求帮助 fontDialog怎么更改对话框标题 c#初学者的一些问题 c# 把xml中的指定数据导入dataGridView中 求教一个递归的问题 IO向本地文已存在的文件写入 别人 用c语言,c++写的程序,请问我怎么能在c#里面调用 网络问题,如何解决? 关于流的问题 买了nvidia 的·shutterglasses 想利用这个做3d图像 C# 怎么样 定义热键???? AD中查找这个用户的其他相关信息
dtLog=si.GetLog(fdClNo);
CLNo.Text=dt.Rows[0]["fdClNo"].ToString();你有3个地方用到fdClNo 具体哪行出错呢?
去看子函数
有时侯还会出现这种情况,原本查询A部门的资料,但出现的结果却是B部门的资料,跟踪进去,查询条件的确是A部门的. 出现这种情况后,有时过几分钟就自动恢复正常了.
,曾经考虑是不是using这种方法不稳定,没能及时关闭数据库连接,所以又在上面的using 里增加了si.connection.Close(); 在ServerItem类的Dispose()方法中是先判断数据库连接状态是否关闭,如是Open,则close. 在什么地方检查缓存呢?这道没有做
为了优化系统,先前从数据库中读取系统里一些数据的配置,改为从生成好的xml里读取.
虽多方设法,仍未能解决.
恳请各方高手指教.谢谢
当然会有问题
问题是:
dt指向NULL了
using(ServerItem si=new ServerItem(ConnStr))
{
dt=si.GetSoDetailInfo(fdClNo);
dtLog=si.GetLog(fdClNo);
si.connection.Close();
if(dt.Rows.Count>0)
{
CLNo.Text=dt.Rows[0]["fdClNo"].ToString();
SoNo.Text=dt.Rows[0]["fdSoNo"].ToString();
BusinessNo.Text=dt.Rows[0]["fdFactoryNo"].ToString();
}
}
如果还有问题 就在GetSoDetailInfo(fdClNo);中了
直接操作本地的DataTable.对于建议:
建议
using(ServerItem si=new ServerItem(ConnStr))
{
dt=si.GetSoDetailInfo(fdClNo);
dtLog=si.GetLog(fdClNo);
si.connection.Close();
if(dt.Rows.Count>0)
{
CLNo.Text=dt.Rows[0]["fdClNo"].ToString();
SoNo.Text=dt.Rows[0]["fdSoNo"].ToString();
BusinessNo.Text=dt.Rows[0]["fdFactoryNo"].ToString();
}
}
等同于是把显示记录放在Using 内部,可我是在using外部就定义好了DataTable,这样有什么影响吗?
这个方法返回的表结构不对
检查这个方法
肯定是这里的问题
应该就是问题所在了
是不是返回的 dt 是静态的哦。