conn.getConnection()是链接数据库的,在23上面加上sta = conn.createStatement(); 还有既然都连接了,为何用完不是放掉?还有你的jdbc链接应该是放在了一个类里面,为什么没有写关闭连接的方法呢?我给你一个链接jdbc的工具类的例子代码,你参考一下吧
public class JdbcUtil {
/**
* 创建出数据库连接
* @return
*/
public static Connection getConn(){
Connection conn=null;
try {
//1.加载驱动
Class.forName("数据库驱动");
//2.建立连接
conn=DriverManager.getConnection("数据库链接","账号","密码");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
/**
* 释放资源
* @param conn
* @param ps
* @param rs
*/
public static void closeAll(Connection conn,PreparedStatement ps,ResultSet rs){
//释放rs对象
try {
//为了代码的健壮性,需要增加非空判断
if(rs!=null){
rs.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//释放ps对象,关闭资源的时候需要注意顺序,后创建的对象,要先关闭。
try {
if(ps!=null){
ps.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//释放数据库连接。
try {
if(conn!=null){
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
sta没有初始化
Statement sta = conn.createStatement();
在23行前面加一条语句,创建statement对象
sta = conn.createStatement();
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632