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();