首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

JDBC 控制台输入数据 直接插入到数据库

2012-12-24 
【求助】JDBC 控制台输入数据 直接插入到数据库import java.sql.Connectionimport java.sql.DriverManager

【求助】JDBC 控制台输入数据 直接插入到数据库

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
public class TestDML2 {
public static void main(String[] args) {

System.out.println("请输入要插入的数据,格式为deptno dname loc");
Scanner scanner=new Scanner(System.in);
int deptno=scanner.nextInt();
String dname=scanner.next();
String loc=scanner.next();
System.out.println("insert into dept values("+deptno+",'"+dname+"','"+loc+"')");
insert(deptno,dname,loc);

}

private static void insert(int deptno, String dname, String loc) {
Connection conn=null;
Statement stmt=null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/mydata", "root", "yj1039");
stmt.executeUpdate("insert into dept values("+deptno+",'"+dname+"','"+loc+"')");
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}finally{
try{
if(stmt!=null){
stmt.close();
stmt=null;
}
if(conn!=null){
conn.close();
conn=null;
}
}catch(SQLException e){
e.printStackTrace();
}
}
}
}


请输入要插入的数据,格式为deptno dname loc
12
a
b
insert into dept values(12,'a','b')
Exception in thread "main" java.lang.NullPointerException
at TestDML2.insert(TestDML2.java:25)
at TestDML2.main(TestDML2.java:15)
[最优解释]

你有没有创建Statement对象 
Statement stmt=null;
这样就直接stmt.executeUpdate
当然会空指针了!
stmt=conn.createStatement();
创建了在去使用它!
声明一个变量之后、必须用赋值语句对变量进行显式初始化它、然后再去使用!

热点排行