如何捕获sqlserver数据库的异常

 我来答
曾寅彪
2018-11-02 · TA获得超过1853个赞
知道大有可为答主
回答量:2514
采纳率:86%
帮助的人:644万
展开全部
Result.next()只会在两种情况发生异常:一是数据库本身故障,二是已经关闭。
而在你的程序中只是为了防止出现一个异常不影响其它的,那么可以假定了,前面的访问是正确的。所以,第一个异常原因不可能出现的。而你不会自己主动在另一个线程关闭数据库吧?那么第二个异常原因也不可能出现。
所以,这个异常捕获了,不必做任何处理,直接进行下一个就行。
while(rs.next()){
try{
//..........
}
catch(SQLException ex){}
}
司马刀剑
高粉答主

2018-11-01 · 每个回答都超有意思的
知道顶级答主
回答量:4.6万
采纳率:93%
帮助的人:7199万
展开全部
package com.jdbc;
import java.sql.Connection; //代表对特定数据库的连接
import java.sql.DriverManager; //处理数据的调入并且对产生新的数据库连接提供支持
import java.sql.ResultSet; //控制执行查询语句得到的结果集
import java.sql.SQLException;
import java.sql.Statement; //代表一个特定的容器,容纳并执行一条SQL语句
public class JdbcText {
// URL数据库连接串信息,ip是你服务器的IP地址,“80”为默认端口,“orcl”为sid
String URL = "jdbc:oracle:thin:@ip:80:orcl";
String user = "scott"; //数据库用户名
String password = "password"; //登陆数据库密码
Connection conn = null;
Statement stmt;
// 初始化连接
public JdbcText(){
try
{
//构造驱动实例
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
// 与url指定的数据源建立连接
conn = DriverManager.getConnection(URL, user, password);
System.out.println("成功连接数据库!");
// 采用Statement进行查询
stmt = conn.createStatement(); // 创建连接状态对象
} catch (Exception e)
{
System.out.println("连接数据库失败!");
e.printStackTrace();
}
}
// 执行查询 获取结果存入容器中
public ResultSet executeQuery(String sql) {

ResultSet rs = null;
try
{
rs = stmt.executeQuery(sql); //执行SQL语句,将获取内容存入 rs
} catch (SQLException e)
{
System.out.println("SQL语句书写错误!");
e.printStackTrace();
}
return rs;
}
public void close() {
try
{
conn.close();
stmt.close();
} catch (Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args) {

ResultSet rs;
JdbcText jdbc = new JdbcText();
rs = jdbc.executeQuery("SELECT empno,ename from emp"); //从emp表中查询数据
try
{
while (rs.next()) // 遍历结果集
{
System.out.print(rs.getString("empno"));
System.out.println(":" + rs.getString("ename"));
}
} catch (Exception e)
{
e.printStackTrace();
}
jdbc.close();
}
}
首先保证你Oracle相关服务是正常打开的
可能出项的异常:
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
没有加载数据库驱动,执行代码 看查询结果就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式