conn.createStatement报java.lang.nullpointerexception错误

u010220687 2014-06-18 09:35:37
连接服务器的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();这里
...全文
1400 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
S117 2014-06-19
  • 打赏
  • 举报
回复
testCon 调用这个获得Connection,然后再获得Statement,不过人们更喜欢用PreparedStatement
tony4geek 2014-06-19
  • 打赏
  • 举报
回复
conn 没获取到。
姜小白- 2014-06-18
  • 打赏
  • 举报
回复
public static Connection getCon() throws SQLException{ 是静态方法 main 也是静态方法,可以直接调用
stmt= getCon().createStatement();
疯癫行者 2014-06-18
  • 打赏
  • 举报
回复
引用 2 楼 u010220687 的回复:
你回复之前我也想到了这点,可能是因为conn是空的原因,明天去试试看怎么样,谢谢。
呵呵,好用的话别忘了结贴咯。
u010220687 2014-06-18
  • 打赏
  • 举报
回复
你回复之前我也想到了这点,可能是因为conn是空的原因,明天去试试看怎么样,谢谢。
疯癫行者 2014-06-18
  • 打赏
  • 举报
回复
stmt=conn.createStatement(); 这句前面加上conn=testCon.getCon()

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧