下面是我的处理用户类,里面有一个private属性ConnDB类(此类有带参数的构造方法),用来得到数据库连接package dao;
import java.sql.*;public class UserOpera {
private Connection c;
private Statement s;
private ResultSet rs;
private ConnDB con;
}
上面的代码编译正常,奇怪的事情出现在下面:package dao;
import java.sql.*;public class UserOpera {
private Connection c;
private Statement s;
private ResultSet rs;
private ConnDB con;
con=new ConnDB("oracle.jdbc.driver.OracleDriver","jdbc:oracle:thin:@localhost:1521:sid1","hr","hr");
}
我new ConnDB后在private ConnDB con; 这一行报错了,信息为:Syntax error on taken ";",,expected
求解!!!
import java.sql.*;public class UserOpera {
private Connection c;
private Statement s;
private ResultSet rs;
private ConnDB con;
}
上面的代码编译正常,奇怪的事情出现在下面:package dao;
import java.sql.*;public class UserOpera {
private Connection c;
private Statement s;
private ResultSet rs;
private ConnDB con;
con=new ConnDB("oracle.jdbc.driver.OracleDriver","jdbc:oracle:thin:@localhost:1521:sid1","hr","hr");
}
我new ConnDB后在private ConnDB con; 这一行报错了,信息为:Syntax error on taken ";",,expected
求解!!!
import java.sql.*;public class ConnDB {
private String drivername;
private String str;
private String user;
private String passwd;
private Connection c;
public ConnDB(String drivername,String str,String user,String passwd){
this.drivername=drivername;
this.str=str;
this.user=user;
this.passwd=passwd;
}
public Connection getConnection(){
try {
Class.forName(drivername);
c=DriverManager.getConnection(str,user,passwd);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return c;
}
}
上面这样倒是不报错误了,但是用con这个对象的时候编译器不认了!
把这句放在static {}里或构造函数UserOpera(){}里边
con=new ConnDB("oracle.jdbc.driver.OracleDriver","jdbc:oracle:thin:@localhost:1521:sid1","hr","hr");
public class UserOpera {
private Connection c;
private Statement s;
private ResultSet rs;
/*
static {
ConnDB con = new ConnDB("oracle.jdbc.driver.OracleDriver","jdbc:oracle:thin:@localhost:1521:sid1","hr","hr");
}
*/
ConnDB con;
public UserOpera() {
con = new ConnDB("oracle.jdbc.driver.OracleDriver","jdbc:oracle:thin:@localhost:1521:sid1","hr","hr");
}
}