java向数据库写数据时出现Exception in thread "main" java.lang.NullPointerException
代码:importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;im...
代码:
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.ResultSet;
import java.sql.SQLException ;
import java.sql.Statement;
public class JDB{
// 定义MySQL的数据库驱动程序
public static final String DBDRIVER = "com.mysql.jdbc.Driver" ;
// 定义MySQL数据库的连接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/javadata" ;
// MySQL数据库的连接用户名
public static final String DBUSER = "root" ;
// MySQL数据库的连接密码
public static final String DBPASS = "12345" ;
public static Statement stmt;
public static String sql;
public static ResultSet rs;
public static int is;
public static void main(String args[]){
try{
Class.forName(DBDRIVER) ; // 加载驱动程序
}catch(Exception e){
e.printStackTrace() ;
}
try{
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
System.out.println(conn) ; // 如果此时可以打印表示连接正常
stmt=conn.createStatement();
String str1="a";
int str2=1;
//sql="insert into student values('"+id+"','"+name+"','"+sex+"','"+address+"')" ;
// rs=stmt.executeQuery(sql);
is=stmt.executeUpdate("insert into userinfo values('"+str1+"','"+str2+"')" );
rs.close();
stmt.close();
conn.close();
}catch(SQLException e){
e.printStackTrace() ;
}
}
}
出现问题:
Exception in thread "main" java.lang.NullPointerException
at JDB.main(JDB.java:38)
有人帮忙看一下吗? 展开
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.ResultSet;
import java.sql.SQLException ;
import java.sql.Statement;
public class JDB{
// 定义MySQL的数据库驱动程序
public static final String DBDRIVER = "com.mysql.jdbc.Driver" ;
// 定义MySQL数据库的连接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/javadata" ;
// MySQL数据库的连接用户名
public static final String DBUSER = "root" ;
// MySQL数据库的连接密码
public static final String DBPASS = "12345" ;
public static Statement stmt;
public static String sql;
public static ResultSet rs;
public static int is;
public static void main(String args[]){
try{
Class.forName(DBDRIVER) ; // 加载驱动程序
}catch(Exception e){
e.printStackTrace() ;
}
try{
Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
System.out.println(conn) ; // 如果此时可以打印表示连接正常
stmt=conn.createStatement();
String str1="a";
int str2=1;
//sql="insert into student values('"+id+"','"+name+"','"+sex+"','"+address+"')" ;
// rs=stmt.executeQuery(sql);
is=stmt.executeUpdate("insert into userinfo values('"+str1+"','"+str2+"')" );
rs.close();
stmt.close();
conn.close();
}catch(SQLException e){
e.printStackTrace() ;
}
}
}
出现问题:
Exception in thread "main" java.lang.NullPointerException
at JDB.main(JDB.java:38)
有人帮忙看一下吗? 展开
4个回答
展开全部
rs.close();
这句话空指针了。你的rs那行代码注释掉了。rs为null的
这句话空指针了。你的rs那行代码注释掉了。rs为null的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你rs都没初始化,怎么用rs.close()。把这句去掉
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
空指针异常,,在38行。。有可能是表的名字或字段拼错了。。仔细检查下。。先lcean下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询