首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JDBC 執行 INSERT 語句常見錯誤:executeQuery vs executeUpdate

     編輯:程式設計綜合問答

使用 JDBC 操作資料庫時,新手常犯一個經典錯誤:對 INSERT、UPDATE、DELETE 等資料異動語句呼叫 executeQuery() 而非 executeUpdate()。

錯誤代碼示例

String sql = "INSERT INTO student VALUES ('95005', '張三', '男', 50, 'DC')";
stmt.executeQuery(sql); // 錯誤!拋出 SQLException

正確做法

stmt.executeUpdate(sql); // 正確:返回影響行數
// 或
stmt.execute(sql);       // 通用執行,需自行判斷結果類型

方法對照表

方法適用場景返回值
executeQuery()SELECT 查詢ResultSet
executeUpdate()INSERT/UPDATE/DELETE、DDL影響行數 (int)
execute()任意 SQL,含多結果集boolean (是否為 ResultSet)

補充提醒

  • 使用 PreparedStatement 可防 SQL 注入並提升效能。
  • 資源 (Connection, Statement, ResultSet) 需在 finally 區塊或 try-with-resources 中關閉。
  • 範例中硬編碼密碼 mch0dmin 有安全風險,生產環境請使用連線池與配置檔管理。

記住:查詢用 Query,異動用 Update,一字之差,功能天差地別。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved