Sobes.tech
Junior

რა განსხვავებაა execute, executeQuery და executeUpdate მეთოდებს შორის?

sobes.tech AI

პასუხი AI-სგან

  • executeQuery(): გამოიყენება SQL ბრძანებების შესრულებისთვის, რომლებიც აბრუნებენ ერთეულ შედეგთა ნაკრებს (მაგალითად, SELECT). აბრუნებს ResultSet ობიექტს.
  • executeUpdate(): გამოიყენება SQL ბრძანებების შესრულებისთვის, რომლებიც ცვლიან მონაცემთა ბაზას და აბრუნებენ განახლებული სვეტების რაოდენობას (მაგალითად, INSERT, UPDATE, DELETE, CREATE TABLE, DROP TABLE). აბრუნებს int.
  • execute(): უფრო მრავალმხრივი მეთოდია. შეუძლია შეასრულოს ნებისმიერი ტიპის SQL ბრძანება. აბრუნებს boolean, რომელიც მიუთითებს, დაბრუნდა თუ არა ResultSet. თუ true, შედეგი არის ResultSet. თუ false, შედეგი არის განახლებული სვეტების რაოდენობა. რეალური შედეგის მისაღებად საჭიროა გამოიყენოთ getResultSet() ან getUpdateCount().
მეთოდი დანიშნულება დაბრუნებული მნიშვნელობა გამოყენების მაგალითი
executeQuery SELECT შესრულება ResultSet მონაცემების მიღება ცხრილიდან.
executeUpdate INSERT, UPDATE, DELETE, DDL შესრულება int (განახლებული სვეტების რაოდენობა) ჩანაწერების დამატება, შეცვლა ან წაშლა; ცხრილების შექმნა ან წაშლა.
execute ნებისმიერი SQL ბრძანება boolean (თუ დაბრუნდა ResultSet, true) როდესაც ბრძანების ტიპი წინასწარ არ არის ცნობილი ან ბრძანება შეიძლება დააბრუნოს მონაცემები და რაოდენობა.

execute() გამოყენების მაგალითი:

// ითვლება, რომ statement უკვე შექმნილია
boolean isResultSet = statement.execute("SELECT * FROM users WHERE id = 1 OR INSERT INTO logs (message) VALUES ('User fetched')");

if (isResultSet) {
    // ResultSet-ის დამუშავება
    try (ResultSet rs = statement.getResultSet()) {
        while (rs.next()) {
            // მონაცემების წაკითხვა
        }
    }
} else {
    // განახლებული სვეტების რაოდენობის დამუშავება
    int updateCount = statement.getUpdateCount();
    // updateCount-ის დამუშავება
}