Junior
execute, executeQuery va executeUpdate metodlari orasidagi farq nima?
sobes.tech AI
AIdan javob
executeQuery(): Faqat bitta natijalar to'plamini qaytaradigan SQL operatorlarini bajarish uchun ishlatiladi (masalan,SELECToperatorlari).ResultSetob'ektini qaytaradi.executeUpdate(): Ma'lumotlar bazasini o'zgartiradigan va yangilangan satrlar sonini qaytaradigan SQL operatorlarini bajarish uchun ishlatiladi (masalan,INSERT,UPDATE,DELETE,CREATE TABLE,DROP TABLE).intni qaytaradi.execute(): Ko'proq universal usul. Har qanday turdagi SQL operatorini bajarishi mumkin.ResultSetqaytarilgan yoki yo'qligini ko'rsatadiganbooleanni qaytaradi. Agartruebo'lsa, natijaResultSet. Agarfalsebo'lsa, yangilangan satrlar soni. Haqiqiy natijani olish uchungetResultSet()yokigetUpdateCount()ishlatilishi kerak.
| Usul | Maqsad | Qaytadigan qiymat | Foydalanish misoli |
|---|---|---|---|
executeQuery |
SELECT bajarish |
ResultSet |
Jadvaldan ma'lumot olish. |
executeUpdate |
INSERT, UPDATE, DELETE, DDL bajarish |
int (o'zgartirilgan satrlar soni) |
Yozuv qo'shish, o'zgartirish yoki o'chirish; jadvallarni yaratish yoki o'chirish. |
execute |
Har qanday SQL operatori | boolean (ResultSet qaytarilgan bo'lsa true) |
Operator turi oldindan ma'lum bo'lmagan yoki operator ma'lumotlar va hisobni qaytarishi mumkin bo'lsa. |
execute() ning foydalanish misoli:
// Bayonot allaqachon yaratilgan deb hisoblanadi
boolean isResultSet = statement.execute("SELECT * FROM users WHERE id = 1 OR INSERT INTO logs (message) VALUES ('User fetched')");
if (isResultSet) {
// ResultSet bilan ishlash
try (ResultSet rs = statement.getResultSet()) {
while (rs.next()) {
// Ma'lumotlarni o'qish
}
}
} else {
// Yangilangan satrlar sonini ishlash
int updateCount = statement.getUpdateCount();
// updateCount bilan ishlash
}