读书人

SQL超时有关问题高分求助!

发布时间: 2011-12-10 22:22:01 作者: rapoo

SQL超时问题,十万火急,高分求助!!!!!!!!
我在做DataSet绑定的时候出现超时错误。
代码SQLHelper
using (SqlConnection conn = new SqlConnection(CONN_STRING_NON_DTC))
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds); // 这一句超时了。。。
cmd.Parameters.Clear();
return ds;
}
sql语句如下
select convert(varchar,purchase_date,111) as purchase_date, convert(varchar,register_date,111) as register_date,id /省略/ from ownership where login = @login

附注
我在我机器上可以正常的运行,但是放到服务器上就有超时错误。
我点击一次按钮,上面的代码先后运行2次。但SQL语句不一样。第一次运行没有问题,第二次却超时了,是什么原因啊。为什么第一次不超时,第二次超了,且为什么我机器上没事,服务器上超了。

十万火急。。。。

[解决办法]
为什么会执行2次,把你cmd的TimeOut属性设大点,默认是15秒
[解决办法]
检查一下
debug跟踪一下就知道了
[解决办法]
using (SqlConnection conn = new SqlConnection(CONN_STRING_NON_DTC))
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds); // 这一句超时了。。。
cmd.Parameters.Clear();
}
return ds;
ds应该在连接关闭后在返回,你用的是ds在using括号里连接关闭不了,当然超时!!
[解决办法]
是不是数据库锁死了啊?
试试
select convert(varchar,birthdate,111) as birthdate,* from customer with (nolock) where login = @login
[解决办法]
是不是数据的问题?
fill一两条数据跟踪试试

读书人网 >asp.net

热点推荐