c# 操作数据库返回DataSet 超时

C5662601 2010-07-20 02:32:05
能像SqlCommand一样 可以设定 CommandTimeout

public DataSet GetDS(string sql)
{
DataSet ds= new DataSet();
using(GetConn())
{
using (SqlDataAdapter sda=new SqlDataAdapter(sql,Conn))
{
try
{
sda.Fill(ds);
return ds;
}
catch{
.......
}
}
}
}
...全文
244 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
lester19872007 2010-07-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 c5662601 的回复:]
不知道 大牛们都是怎么解决这样的问题的
[/Quote]

第一 优化你的SQL语句。
第二 采用分页返回数据,用分页存储过程
第三 页面采用缓存的方式 不要每次都去数据库取数据!
telankes2000 2010-07-20
  • 打赏
  • 举报
回复

public DataSet GetDS(string sql) {
DataSet ds= new DataSet();
using(System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("")) {
using (System.Data.SqlClient.SqlDataAdapter sda= new System.Data.SqlClient.SqlDataAdapter()) {
System.Data.SqlClient.SqlCommand cmd = conn.CreateCommand();
cmd.CommandTimeout = 3600;
cmd.CommandText = sql;
cmd.CommandType = CommandType.Text;
sda.SelectCommand = cmd;
try {
sda.Fill(ds);
return ds;
}
catch(Exception ex){
throw ex;
}
}
}
}
jjjin80108 2010-07-20
  • 打赏
  • 举报
回复
凑热闹。
路人乙e 2010-07-20
  • 打赏
  • 举报
回复
能达到超时的时间,你的数据库做的也“到位”了!
建立索引,优化SQL语句

应该把SQL查询语句贴出来到SQL版去问
liiifeiii 2010-07-20
  • 打赏
  • 举报
回复
数据量太大的话,用存储过程,使用索引来优化
w79841446 2010-07-20
  • 打赏
  • 举报
回复
数据量太大的话,用存储过程,使用索引来优化吧.
C5662601 2010-07-20
  • 打赏
  • 举报
回复
list 也得读取数据库
[Quote=引用 11 楼 sglcj 的回复:]
连接14张表。。。。。
以前用dataset也常会遇到数据量大的时候回超时
现在基本用list 很少遇到这个问题了
[/Quote]
End 2010-07-20
  • 打赏
  • 举报
回复
连接14张表。。。。。
以前用dataset也常会遇到数据量大的时候回超时
现在基本用list 很少遇到这个问题了
C5662601 2010-07-20
  • 打赏
  • 举报
回复
主要想问下 我返回DataSet 的代码 有没有像 SqlCommand一样 可以设定 CommandTimeout的属性
C5662601 2010-07-20
  • 打赏
  • 举报
回复
返回的都是要显示的字段 也有建立索引
实在不行就得和客户商量查询结果只返回前1W笔数据

[Quote=引用 7 楼 wuyq11 的回复:]
优化sql语句
在查询分析器执行时间,添加索引
[/Quote]
journey_q 2010-07-20
  • 打赏
  • 举报
回复
不懂~~ 学习~~
wuyq11 2010-07-20
  • 打赏
  • 举报
回复
优化sql语句
在查询分析器执行时间,添加索引
myhope88 2010-07-20
  • 打赏
  • 举报
回复
<httpRuntime executionTimeout="500" />放于system.web节中
另外,数据库连接字符串也胩超时时间,这边也不太短了
C5662601 2010-07-20
  • 打赏
  • 举报
回复
不知道 大牛们都是怎么解决这样的问题的
C5662601 2010-07-20
  • 打赏
  • 举报
回复
web.config 里设置 怎么设置有代码吗
[Quote=引用 2 楼 myhope88 的回复:]
应该是数据量太大了,执行太久了,超时了,设定一下超时时间吧,在web.config可以设置下,再者连接超时时间也不能太短了
[/Quote]
C5662601 2010-07-20
  • 打赏
  • 举报
回复
sql left join 了14张表 返回数据量一大就超时了
myhope88 2010-07-20
  • 打赏
  • 举报
回复
应该是数据量太大了,执行太久了,超时了,设定一下超时时间吧,在web.config可以设置下,再者连接超时时间也不能太短了
C5662601 2010-07-20
  • 打赏
  • 举报
回复
超时时间已到。在操作完成之前超时时间已过或服务器未响应。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧