package database;
import java.sql.*;
public class Oracle2 {
String user="scott";
String pwd="tiger";
String url="jdbc:oracle:thin:@192.168.1.100:1521:orcl";
Connection conn=null;
Statement s;
ResultSet rs=null;
public Oracle2()throws SQLException
{
try{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
conn=DriverManager.getConnection(url, user, pwd);
s=conn.createStatement();
}catch(Exception e)
{
e.printStackTrace();
}
}
public Oracle2(String sql)throws SQLException
{
new Oracle2();
this.execute(sql);
}
public void execute(String sql)
{
try {
rs = s.executeQuery(sql);
while (rs.next()) {
System.out.printf("%-5s", rs.getString(1));
System.out.printf("%-10s", rs.getString(2));
System.out.printf("%-10s\n", rs.getString(3)); }
} catch (Exception e) {
e.printStackTrace();
}
}
public void close()
{
try
{
s.close();
conn.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
try
{
Oracle2 O2=new Oracle2("select * from dept");
}catch(Exception e)
{
e.printStackTrace();
}
}
}
解决方案 »
- 标题一定要长...长...长...长...长...长...长...长...长...长...长...长...长...长...长...长...长...长
- 高分求高手过来看一下,非常奇怪的问题!!!谁解决了这个问题我散完我全部的分啊!!!!!!!
- 请教一下,怎样执行一段存放在字符串变量里面的java代码??
- java问题,大家帮帮忙
- 高分求批量上传的例子!
- Java8移除了JDBC-ODBC...以后要怎样读mdb文件?
- 一个CSDN没有人懂的问题???
- 请问JBuilder5的JDataStore的的注册码(急)
- 请问在Jtextpane里怎样设置中文字体????
- 救我呀!!!!!!又是100个错误......晕了.......
- 一个难题。。。
- 为什么setSize不起作用呢,帮我改一下并说明原因
.newInstance();似乎可以不要.
没关rs
main没关connection,多运行几次,然后准备等或重启数据库.个人意见仅供参考
不过我觉得在close方法里多加个判断更好。if(s!=null) {
s.close();
}
if(conn!=null){
conn.close();
}
java.lang.NullPointerException
at database.Oracle2.execute(Oracle2.java:29)
at database.Oracle2.<init>(Oracle2.java:24)
at database.Oracle2.main(Oracle2.java:59)
public Oracle2(String sql)throws SQLException
{
new Oracle2(); //这里有问题,改成 this();
this.execute(sql);
}
建议:虽然问题可以这样解决,但是代码设计不合理。要么就带参数的构造方法搞定一切,默认构造方法什么都不做,要么只要那个带参数的构造方法。