为了账号安全,请及时绑定邮箱和手机立即绑定

java连接mysql,插入语句,不知道那里错了,求查出万分感谢

java连接mysql,插入语句,不知道那里错了,求查出万分感谢

Sherlock丶Holmes 2017-06-18 21:09:50
package JDBCTest;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class TestOperation { Connection con; Statement stmt; ResultSet rs; //可能有问题 private String m_JDBCDrive="com.mysql.jdbc.Driver"; private String m_JDBCConnectionURL="jdbc:mysql://127.0.0.1:3306/xsxx"; private String m_userID="root"; private String m_password="1234"; public TestOperation(){ try { Class.forName(m_JDBCDrive).newInstance(); System.out.println("装载驱动成功"); } catch (InstantiationException e) { System.out.println("装载驱动失败"); } catch (IllegalAccessException e) { System.out.println("装载驱动失败"); } catch (ClassNotFoundException e) { System.out.println("装载驱动失败"); } } public boolean connect(){ try { con=DriverManager.getConnection(m_JDBCConnectionURL,m_userID,m_password); System.out.println("数据库连接正确"); } catch (SQLException e) { System.out.println("数据库连接失败"); return false; } return true; } public ResultSet getResult(String strSQL){ try { rs=stmt.executeQuery(strSQL); return rs; } catch (SQLException e) { System.out.println("执行SQL失败"); return null; } } public boolean updateSql(String strSQL){ try { stmt.executeUpdate(strSQL); con.commit(); return true; } catch (SQLException e) { System.out.println("执行SQL语句错误"); return false; } } public boolean insertSql(String strSQL){ try { stmt.executeUpdate(strSQL); con.commit(); return true; } catch (SQLException sqle) { System.out.println("insertSql():执行SQL语句错误"); return false; }} public void disconnect(){ try { if(con!=null){ con.close(); con=null; } } catch (SQLException e) { System.out.println("关闭数据库失败"); } } public static void main(String[] args) { TestOperation test=new TestOperation(); String sql1="insert into student(user,password,ID)  values('1002','admin2','admin2')"; String sql2; ResultSet rs; if(test.connect()){ if(test.insertSql(sql1)){ System.out.println("插入成功"); sql2="select * from student"; if(test.getResult(sql2)!=null){ rs=test.getResult(sql2); try{ while(rs.next()){ System.out.println(rs.getInt(1)); } }catch(SQLException e){ e.printStackTrace(); } } } test.disconnect(); } }
查看完整描述

2 回答

?
Albatron_

TA贡献10条经验 获得超2个赞

//img1.sycdn.imooc.com//5947609e0001275004550184.jpg

添加代码如下:
stmt=con.createStatement();


查看完整回答
1 反对 回复 2017-06-19
?
慕尼黑0770482

TA贡献2条经验 获得超0个赞

弄个断点找找

查看完整回答
反对 回复 2017-06-19
?
精慕门9254224

TA贡献167条经验 获得超46个赞

Statement 没有初始化

查看完整回答
反对 回复 2017-06-18
  • Sherlock丶Holmes
    Sherlock丶Holmes
    前面实例变量不是定义了吗,没有默认值?说清楚点谢谢
  • 精慕门9254224
    精慕门9254224
    复合数据类型的默认值为null ,所以才会报空指针异常,你要使用Statement 对象就要给他附有意义的值!最简单的方法是打个断点一步一步跟一下你就知道了,或者用System .out .print (stmt)打印一下
  • 2 回答
  • 1 关注
  • 2797 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信