sql 2000里面有一个 myuser表 里面有Uname 和Upwd字段 都是varchar 类型的
代码如下 :
package zhil;
import java.sql.*;
class cx{
Connection conn ;
public cx(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbc:odbc:sql");
System.out.println("数据库连接成功");
}
catch (Exception ex) {
ex.printStackTrace();
}
}
void insert(String Uname,String Upwd){
try {
Statement st = conn.createStatement();
int unm = st.executeUpdate("insert into myuser values('"+Uname+"','"+Upwd+"')");
System.out.println("所影响记录的行数为:"+unm);
st.close();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
void closeconn(){
try {
conn.close();
}
catch (Exception ex) {
}
}
}
public class ODBC {
public static void main(String[] args) {
cx sql = new cx();
sql.insert("张三","123");
sql.closeconn();
}
}当代码执行到Statement st = conn.createStatement();时就跳到处理异常哪里去了接着就报下面的错误
java.lang.NullPointerException at zhil.cx.insert(ODBC.java:17) at zhil.ODBC.main(ODBC.java:37)
代码如下 :
package zhil;
import java.sql.*;
class cx{
Connection conn ;
public cx(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbc:odbc:sql");
System.out.println("数据库连接成功");
}
catch (Exception ex) {
ex.printStackTrace();
}
}
void insert(String Uname,String Upwd){
try {
Statement st = conn.createStatement();
int unm = st.executeUpdate("insert into myuser values('"+Uname+"','"+Upwd+"')");
System.out.println("所影响记录的行数为:"+unm);
st.close();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
void closeconn(){
try {
conn.close();
}
catch (Exception ex) {
}
}
}
public class ODBC {
public static void main(String[] args) {
cx sql = new cx();
sql.insert("张三","123");
sql.closeconn();
}
}当代码执行到Statement st = conn.createStatement();时就跳到处理异常哪里去了接着就报下面的错误
java.lang.NullPointerException at zhil.cx.insert(ODBC.java:17) at zhil.ODBC.main(ODBC.java:37)
import java.sql.DriverManager;public class DbConn {
public Connection conn = null;
public DbConn(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("jdbc:odbc:ds","sa","");
System.out.println("连接成功");
} catch (Exception e) {
System.out.println("连接失败");
}
}
}
希望对LZ有帮助
Connection conn ;//这个对象一直是null你知道嘛
public cx(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbc:odbc:sql");、、这个对象并不是上面的那个对象
System.out.println("数据库连接成功");
Connection conn ; Connection conn = DriverManager.getConnection("jdbc:odbc:sql");
你说他们是相同的
你改成这样的
Connection conn ;//
public cx(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("jdbc:odbc:sql");//将对象赋值
System.out.println("数据库连接成功");
这样才将conn