for 循环中 jdbc executeQuery(sql);出错
ResultSetresult2=jdbc.executeQuery(sql2);在for循环中,for循环大约80000多条数据把,在执行过程中可能是jdbc连接断开,...
ResultSet result2 = jdbc.executeQuery(sql2);在for循环中,for循环大约80000多条数据把,在执行过程中可能是jdbc连接断开,导致的出错,我想在连接断开后,再创建一个连接,重新执行出错的那条数据。请问如何实现?
展开
2011-04-21
展开全部
参数是string类型,返回类型是DataTable即数据表类型
public DataTable ExecuteQuery(string sql)
{
//实例化一个SqlDataAdapter对象,构造函数的参数是string类型的sql和数据库连接对象con;SqlDataAdapter对象用来从数据库获取数据填充数据容器DataSet/DataTable
SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, con);
//初始化一个数据表对象,将被dataAdapter填充数据
DataTable dataTable = new DataTable();
//try...catch语句用来扑捉程序执行过程中发生的异常
try
{
//调用dataAdapter的Fill方法填充dataTable
dataAdapter.Fill(dataTable);
}
catch (Exception e)
{
//将异常信息输出到控制台
Console.WriteLine(e.Message);
Console.WriteLine(sql);
}
//dataTable是此方法返回的对象,包含了得到的数据
return dataTable;
}
另外,团IDC网上有许多产品团购,便宜有口碑
public DataTable ExecuteQuery(string sql)
{
//实例化一个SqlDataAdapter对象,构造函数的参数是string类型的sql和数据库连接对象con;SqlDataAdapter对象用来从数据库获取数据填充数据容器DataSet/DataTable
SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, con);
//初始化一个数据表对象,将被dataAdapter填充数据
DataTable dataTable = new DataTable();
//try...catch语句用来扑捉程序执行过程中发生的异常
try
{
//调用dataAdapter的Fill方法填充dataTable
dataAdapter.Fill(dataTable);
}
catch (Exception e)
{
//将异常信息输出到控制台
Console.WriteLine(e.Message);
Console.WriteLine(sql);
}
//dataTable是此方法返回的对象,包含了得到的数据
return dataTable;
}
另外,团IDC网上有许多产品团购,便宜有口碑
展开全部
你为什么要将jdbc.executeQuery(sql)放在for循环中执行,如果你在循环中去创建连接,这样是很危险的,对于你的连接池压力很大。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以用批处理,但是你怎么能一下循环80000多条,你这样做太不科学了吧,一下80000多条,肯定是要断开的啦,你可以一次处理少一点,批量处理,就没问题了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你这句话放在try块中,这句话出错时,会执行相应catch块中的内容,你只要在catch里再创建一个连接,当然你需要用一个全局变量记录你所执行到哪。
你把具体的代码发一下,我给你简单改一下~,希望能帮到你!
你把具体的代码发一下,我给你简单改一下~,希望能帮到你!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询