连接服务器的Oracle 11g,想把数据库中的一个表中的几条记录查找出来,代码如下,但是出现了java.lang.nullpointerexception错误,菜鸟不知道怎么解决。代码如下:
package com.until;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class testCon {
private static String URL = "jdbc:oracle:thin:@172.16.14.143:1521:windp";
private static String USERNAME = "windpower01";
private static String PASSWORD = "windpower01";
private static Connection conn;
public static Connection getCon() throws SQLException{
Connection conn = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(URL,USERNAME,PASSWORD);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
/**
* @param stmt
* @param args
*/
public static void main(String[] args) {
ResultSet rs=null;
Statement stmt=null;
String ono=null;
String ona=null;
String pas=null;
try{
stmt=conn.createStatement();
rs=stmt.executeQuery("SELECT OPERNO,OPERNAME,PASSWORD FROM OPERATOR");
while(rs.next())
{
ono=rs.getString(1);
ona=rs.getString(2);
pas=rs.getString(3);
System.out.println("OPERNO:"+ono+",OPERNAME:"+ona+",PASSWORD:"+pas);
}
}
catch (Exception e) {
e.printStackTrace();
}
}
public static void close(Connection con,Statement sm,ResultSet rs){
try {
if(con!=null){
con.close();
}
if(sm!=null){
sm.close();
}
if(rs != null){
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
报错显示是 stmt=conn.createStatement();这里
------解决方案--------------------
stmt=conn.createStatement();
这句前面加上conn=testCon.getCon()
------解决方案--------------------
呵呵,好用的话别忘了结贴咯。
------解决方案--------------------
public static Connection getCon() throws SQLException{ 是静态方法
main 也是静态方法,可以直接调用
stmt= getCon().createStatement();
------解决方案--------------------
testCon 调用这个获得Connection,然后再获得Statement,不过人们更喜欢用PreparedStatement