Sobes.tech
Junior

execute, executeQuery və executeUpdate metodları arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

  • executeQuery(): Yalnızca tək nəticə dəstini qaytaran SQL operatorlarını icra etmək üçün istifadə olunur (məsələn, SELECT operatorları). ResultSet obyektini qaytarır.
  • executeUpdate(): Verilənlər bazasını dəyişən və yenilənmiş sətirlərin sayını qaytaran SQL operatorlarını icra etmək üçün istifadə olunur (məsələn, INSERT, UPDATE, DELETE, CREATE TABLE, DROP TABLE). int qaytarır.
  • execute(): Daha ümumi bir metod. Hər hansı bir SQL operatorunu icra edə bilər. ResultSet qaytarılıb-qaytarılmadığını göstərən boolean qaytarır. Əgər true isə, nəticə ResultSet-dir. Əks halda, nəticə yenilənmiş sətirlərin sayıdır. Əsl nəticəni almaq üçün getResultSet() və ya getUpdateCount() istifadə olunmalıdır.
Metod Məqsəd Qaytarılan dəyər İstifadə nümunəsi
executeQuery SELECT icra etmək ResultSet Cədvəldən məlumat almaq.
executeUpdate INSERT, UPDATE, DELETE, DDL icra etmək int (dəyişdirilmiş sətir sayı) Yazıları əlavə etmək, dəyişdirmək və ya silmək; cədvəllər yaratmaq və ya silmək.
execute Hər hansı SQL operatoru boolean (ResultSet qaytarılıbsa true) Operator növü əvvəlcədən məlum deyilsə və ya operator həm məlumat, həm də say qaytara bilərsə.

execute() istifadə nümunəsi:

// Statement artıq yaradılıb
boolean isResultSet = statement.execute("SELECT * FROM users WHERE id = 1 OR INSERT INTO logs (message) VALUES ('User fetched')");

if (isResultSet) {
    // ResultSet işlənməsi
    try (ResultSet rs = statement.getResultSet()) {
        while (rs.next()) {
            // Məlumatların oxunması
        }
    }
} else {
    // Yenilənmiş sətir sayı işlənməsi
    int updateCount = statement.getUpdateCount();
    // updateCount işlənməsi
}