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