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