Sobes.tech
Junior

execute, executeQuery жана executeUpdate ыкмаларынын айырмасы эмнеде?

sobes.tech AI

AIден жооп

executeQuery колдонулат SELECT суроолорун аткаруу үчүн, ал ResultSet объектисин кайтарат.

executeUpdate колдонулат DML (INSERT, UPDATE, DELETE) же DDL (CREATE, ALTER, DROP) командасы үчүн. Ал таасир эткен саптардын санын кайтарат.

execute ар кандай SQL командасын аткарууга болот. Ал boolean кайтарат: true, эгер натыйжа ResultSet болсо, жана false башка учурда (эгер жаңыртылган саптардын саны же натыйжа жок болсо). ResultSet алуу үчүн getResultSet(), жаңыртылган саптардын санын алуу үчүн getUpdateCount() колдонулат.

ыкма максаты кайтарылган түрү SQL командасынын мисалдары
executeQuery SELECT ResultSet SELECT * FROM users
executeUpdate INSERT, UPDATE, DELETE, DDL int (таасир эткен саптар) INSERT INTO users ..., UPDATE users ..., DROP TABLE users
execute ар кандай түрү boolean ар кандай

executeQuery колдонуу мисалы:

// Байланыш алуу
Connection conn = ...;
Statement stmt = conn.createStatement();
// SELECT аткаруу
ResultSet rs = stmt.executeQuery("SELECT id, name FROM users");
while (rs.next()) {
    int id = rs.getInt("id");
    String name = rs.getString("name");
    System.out.println("ID: " + id + ", Аты: " + name);
}
rs.close();
stmt.close();
conn.close();

executeUpdate колдонуу мисалы:

// Байланыш алуу
Connection conn = ...;
Statement stmt = conn.createStatement();
// INSERT аткаруу
int updatedRows = stmt.executeUpdate("INSERT INTO users (name) VALUES ('John Doe')");
System.out.println("Киргизилген саптар саны: " + updatedRows);
stmt.close();
conn.close();

execute колдонуу мисалы:

// Байланыш алуу
Connection conn = ...;
Statement stmt = conn.createStatement();
// DDL аткаруу
boolean isResultSet = stmt.execute("CREATE TABLE products (id INT PRIMARY KEY, name VARCHAR(255))");
if (!isResultSet) {
    System.out.println("Түзүлгөн же жаңыртылган таблица, саны: " + stmt.getUpdateCount());
}
stmt.close();
conn.close();