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