亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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個贊

http://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 關注
  • 3232 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號