在 net beans 中执行 jdbc 代码时出现空指针异常?
Null pointer exception while execution a jdbc code in net beans?
我正在将 ms 访问 odbc 和 odbc 连接到 javacode。
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author aditya
*/
public class Odbc {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Connection con=null;Statement st=null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("driver loaded");
} catch (ClassNotFoundException ex) {
System.out.println(ex);
}
try {
con=DriverManager.getConnection("jdbc:odbc:studentdsn");
} catch (SQLException ex) {
Logger.getLogger(Odbc.class.getName()).log(Level.SEVERE, null, ex);
}
try {
Statement St = con.createStatement();
String sql="insert into Student values(111,gfhgf,kjhk,123,jgfj)";
int n;
n=st.executeUpdate(sql);
这里..我收到运行时错误。引用空指针。
} catch (SQLException ex) {
System.out.println(ex);
}
}
}
您已将 con
定义为 null,然后尝试将其初始化为:
try {
con=DriverManager.getConnection("jdbc:odbc:studentdsn");
} catch (SQLException ex) {
Logger.getLogger(Odbc.class.getName()).log(Level.SEVERE, null, ex);
}
现在,如果您在创建连接时出现异常,您的连接仍然为空,然后您尝试使用空连接来创建如下语句:
try {
Statement St = con.createStatement();
因此空指针异常。
在一个 try catch 块中创建所有 JDBC 连接相关语句,最重要的是找出连接创建失败的原因。
您有两个语句类型变量。您定义为 null 的一个:
Statement st=null;
和一个实际初始化的("s"这里是大写):
Statement St = con.createStatement();
然后你在空变量上调用一个函数:
n=st.executeUpdate(sql);
我正在将 ms 访问 odbc 和 odbc 连接到 javacode。
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author aditya
*/
public class Odbc {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Connection con=null;Statement st=null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("driver loaded");
} catch (ClassNotFoundException ex) {
System.out.println(ex);
}
try {
con=DriverManager.getConnection("jdbc:odbc:studentdsn");
} catch (SQLException ex) {
Logger.getLogger(Odbc.class.getName()).log(Level.SEVERE, null, ex);
}
try {
Statement St = con.createStatement();
String sql="insert into Student values(111,gfhgf,kjhk,123,jgfj)";
int n;
n=st.executeUpdate(sql);
这里..我收到运行时错误。引用空指针。
} catch (SQLException ex) {
System.out.println(ex);
}
}
}
您已将 con
定义为 null,然后尝试将其初始化为:
try {
con=DriverManager.getConnection("jdbc:odbc:studentdsn");
} catch (SQLException ex) {
Logger.getLogger(Odbc.class.getName()).log(Level.SEVERE, null, ex);
}
现在,如果您在创建连接时出现异常,您的连接仍然为空,然后您尝试使用空连接来创建如下语句:
try {
Statement St = con.createStatement();
因此空指针异常。
在一个 try catch 块中创建所有 JDBC 连接相关语句,最重要的是找出连接创建失败的原因。
您有两个语句类型变量。您定义为 null 的一个:
Statement st=null;
和一个实际初始化的("s"这里是大写):
Statement St = con.createStatement();
然后你在空变量上调用一个函数:
n=st.executeUpdate(sql);