Sobes.tech
Junior

execute, executeQuery va executeUpdate metodlari orasidagi farq nima?

sobes.tech AI

AIdan javob

executeQuery SELECT soʻrovlarini bajarish uchun ishlatiladi va natijalar bilan ResultSet ob'ektini qaytaradi.

executeUpdate DML (INSERT, UPDATE, DELETE) yoki DDL (CREATE, ALTER, DROP) buyruqlarini bajarish uchun ishlatiladi. Bu operatsiya ta'sir qilgan satrlar sonini qaytaradi.

execute har qanday SQL buyruqini bajarishi mumkin. Bu boolean qiymatni qaytaradi: true, agar natija ResultSet bo'lsa, va false agar natija bo'lmasa (yangilangan satrlar soni yoki natija yo'q). ResultSetni olish uchun getResultSet() metodidan foydalaniladi, yangilangan satrlar sonini olish uchun esa getUpdateCount().

Metod Maqsad Qaytish turi SQL buyruqlari misollari
executeQuery SELECT ResultSet SELECT * FROM users
executeUpdate INSERT, UPDATE, DELETE, DDL int (yangilangan satrlar) INSERT INTO users ..., UPDATE users ..., DROP TABLE users
execute Har qanday turdagi boolean Har qanday SQL buyruqi

executeQuery misoli:

// Ulanishni olish
Connection conn = ...;
Statement stmt = conn.createStatement();
// SELECT bajarish
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 + ", Nomi: " + name);
}
rs.close();
stmt.close();
conn.close();

executeUpdate misoli:

// Ulanishni olish
Connection conn = ...;
Statement stmt = conn.createStatement();
// INSERT bajarish
int updatedRows = stmt.executeUpdate("INSERT INTO users (name) VALUES ('John Doe')");
System.out.println("Qo'shilgan satrlar: " + updatedRows);
stmt.close();
conn.close();

execute misoli:

// Ulanishni olish
Connection conn = ...;
Statement stmt = conn.createStatement();
// DDL bajarish
boolean isResultSet = stmt.execute("CREATE TABLE products (id INT PRIMARY KEY, name VARCHAR(255))");
if (!isResultSet) {
    System.out.println("Yangilangan satrlar soni yoki jadval yaratildi: " + stmt.getUpdateCount());
}
stmt.close();
conn.close();