我昨天在做一个java程序,连接MYSQL数据库时,出现问题,我的代码为:

package month12.date20;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/*
* 对数据库的操作类
* 对数据库的操作,就是crud
* **/
public class SQLHelper {
//定义需要的对象
PreparedStatement ps=null;
ResultSet rs=null;
Connection ct=null;
//构造函数初始化ct
public SQLHelper(){
try {
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//连接数据库
ct=DriverManager.getConnection("jdbc:mysql://localhost:3306/ab","root","538589");
ps=ct.Statement();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
}
public ResultSet query(String sql,String[] paras){
try {
ps=ct.prepareStatement(sql);
//对sql的参数赋值
for(int i=0;i<paras.length;i++){
ps.setString(i+1,paras[i]);
}
rs=ps.executeQuery(); //得到结果集
} catch (Exception e) {
e.printStackTrace();
}
return rs;
}
//关闭资源的方法
public void close(){
try {
if(ps!=null) ps.close();
if(rs!=null) rs.close();
if(ct!=null) ct.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
不知道哪里出错了,请各位高手帮忙看看,检查下,谢了哈!

第22行ps=ct.Statement();没有这个方法,正确方法是:ps=ct.prepareStatement();
另外后面已经出现了这一行代码,所以在这里应该删掉它。
第一.你做JAVA EE开发时,写法不规范,其实这是一个很简单的程序,运行程序时会有报错,报错会精确到具体哪一行,你要学会读系统给出的报错,根据报错修改程序。
第二.你定义变量的习惯不好,
PreparedStatement ps=null; //这样写更好 PreparedStatement pstmt=null;
ResultSet rs=null; //这个可以ResultSet rs=null;
Connection ct=null; //这样写更好Connection conn=null; 标准写法都是这样的这样是一个好习惯
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-18
报错信息 补充一下
第2个回答  2012-07-18
出什么错了,要给错误提示啊
第3个回答  2012-07-18
出什么错了,要给错误提示啊
第4个回答  2012-07-18
报的什么错呀?
相似回答