.net 电泳存储过程的问题

hmily821023 2009-04-28 08:57:58
执行存储过程返回DATASET
查询的数据量很大,时间挺长的
sqlDA.Fill(dataSet);//执行到这里时马上就跳出去了

我有两个页面调用这个存储过程方法 一个页面好使 另一个页面总是跳出去

<add key="sqlConnstring" value="server=192.168.1.175;user id=QXF2;password=20081013;database=QG_ZHBY_YD;Connect Timeout=200;"></add>




public static class SQLDBHelper
{
static string connectionString = System.Configuration.ConfigurationManager.AppSettings["sqlConnstring"].ToString();
/// <summary>
/// 执行存储过程
/// </summary>
/// <param name="storedProcName">存储过程名</param>
/// <param name="parameters">存储过程参数</param>
/// <param name="tableName">DataSet结果中的表名</param>
/// <returns>DataSet</returns>
public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName)
{

using (SqlConnection connection = new SqlConnection(connectionString))
{
DataSet dataSet = new DataSet();

using (SqlDataAdapter sqlDA = new SqlDataAdapter())
{
try
{
connection.Open();
sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
sqlDA.SelectCommand.CommandTimeout = 200;
sqlDA.Fill(dataSet);//到这里时总是马上就跳出去了 不返回dataset 页面完成了
return dataSet;
}
catch (SqlException ex)
{
throw ex;
}
}
}

}
/// <summary>
/// 构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数值)
/// </summary>
/// <param name="connection">数据库连接</param>
/// <param name="storedProcName">存储过程名</param>
/// <param name="parameters">存储过程参数</param>
/// <returns>SqlCommand</returns>
private static SqlCommand BuildQueryCommand(SqlConnection connection, string storedProcName, IDataParameter[] parameters)
{
SqlCommand command = new SqlCommand(storedProcName, connection);
command.CommandType = CommandType.StoredProcedure;
if (parameters != null)
{
foreach (SqlParameter parameter in parameters)
{
command.Parameters.Add(parameter);
}
}
return command;
}
}
...全文
131 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
End 2009-04-29
  • 打赏
  • 举报
回复
UP
makun0624 2009-04-29
  • 打赏
  • 举报
回复
学习``UP
踏雪听雨 2009-04-29
  • 打赏
  • 举报
回复
数据量5万条,字段不是太多,估证都不会太慢,跟服务器,网络关系都挺大
zlb789 2009-04-29
  • 打赏
  • 举报
回复
[Quote=引用
我有两个页面调用这个存储过程方法 一个页面好使 另一个页面总是跳出去 [/Quote]

有点奇怪 你查看catch到什么错误
zzxap 2009-04-29
  • 打赏
  • 举报
回复
去掉Connect Timeout=200;试试

//return dataSet;
中年秃头大叔 2009-04-29
  • 打赏
  • 举报
回复
public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName)
{

using (SqlConnection connection = new SqlConnection(connectionString))
{
DataSet dataSet = new DataSet();

using (SqlDataAdapter sqlDA = new SqlDataAdapter())
{
try
{
connection.Open();可以去掉
sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
sqlDA.SelectCommand.CommandTimeout = 200;
sqlDA.Fill(dataSet);//到这里时总是马上就跳出去了 不返回dataset 页面完成了
return dataSet;这个地方不要return }
catch (SqlException ex)
{
throw ex;
}
}
return dataset;

}
}
试试看怎样,如果还是不行的话,你可以把try{}catch{}去掉试试看执行到哪里。也可用Response.write()输出一下看到哪里出问题了。
真相重于对错 2009-04-28
  • 打赏
  • 举报
回复
try
catch

62,268

社区成员

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

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

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

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