У меня проблема с кодом ниже.java подключение к Oracle DB java.lang.NullPointerException
Я получаю NullPointerException
, когда пытаюсь подключиться и получать данные из базы данных. Я получаю ошибку, когда выполняется executeQuery
. Насколько я знаю, код верен, но способ подключения к базе данных как sys по-прежнему я не уверен.
здесь идет:
package masterdocument;
import java.sql.Connection;
import java.sql.DriverManager;
import javax.swing.JOptionPane;
import java.lang.*;
import oracle.jdbc.driver.*;
public class JavaConnectDB {
public static Connection ConnecrDB(){
try{
String driverName = "oracle.jdbc.driver.OracleDriver";
Class.forName(driverName).newInstance();
String nameForConnect = "sys as sysdba";
String pass = "Abcd1234";
String url = "jdbc:oracle:thin:@localhost:1521:db01";
Connection conn = DriverManager.getConnection(url, nameForConnect, pass);
System.out.println(conn);
return conn;
}
catch (Exception e){
JOptionPane.showMessageDialog(null,e);
return null;
}
}
}
и призыв к соединению выше:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
conn = JavaConnectDB.ConnecrDB();
try{
String sql="select * from TUTILIZADORES where USERNAME=? and PASSWORD=?";
pst.setString(1, USERNAME.getText());
pst.setString(2, PASSWORD.getText());
rs=(OracleResultSet)pst.executeQuery();
if (rs.next()){
JOptionPane.showMessageDialog(null, "O username e password estavam bem");
Tutilizadores c = new Tutilizadores();
c.setVisible(true);
}
else{
JOptionPane.showMessageDialog(null, "Login Inválido");
}
} catch(Exception e){
JOptionPane.showMessageDialog(null,e);
}
}
Я несколько новых для Java.
спасибо.
Я использовал Connection conn = null; OraclePreparedStatement pst = null; OracleResultSet rs = null; – AlexG
@AlexG См. Http://stackoverflow.com/questions/218384/what-is-a-null-pointer-exception-and-how-do-i-fix-it. – manouti
Я добавил: PreparedStatement pst = conn.prepareStatement (sql); и его работа. Спасибо Манути! – AlexG