我在網上找到一個例子後寫了這段代碼,但它不起作用,請告訴我可能有什麼問題。它似乎做了一些事情並打印出結果,但沒有任何變化。PreparedStatement不會改變任何東西
package com.company.Start;
import java.sql.*;
public class PreparedStmt
{
public static void main(String[] args) throws Exception
{
Class.forName("oracle.jdbc.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@PC:1521/XE","ACCOUNT", "password");
PreparedStatement updateDB = con.prepareStatement("UPDATE Customers SET lname=? WHERE name=?");
updateDB.setString(1, "Meier");
updateDB.setString(2, "Peter");
updateDB.execute();
Statement smt = con.createStatement();
String query = "SELECT * FROM customers";
ResultSet rs = smt.executeQuery(query);
System.out.println("NAME LNAME ADRESS");
while (rs.next()) {
String name = rs.getString("name");
String lname = rs.getString("lname");
System.out.println(name + " " + lname);
}
}
}
打印結果是什麼?你確定你正在檢查相同的數據庫進行更改嗎? –
打印結果有什麼問題? – Thilo
@HariShankar他重複使用相同的連接,所以我會說這是同一個數據庫。 – Thomas