Spec-Zone.ru › MySQL Connectors 1.0

7.2 Использование объектов JDBC Statement для выполнения SQL-запросов

Объекты Statement позволяют выполнять базовые SQL-запросы и получать результаты через класс ResultSet, который описан позже.

Для создания экземпляра Statement, вызовите метод createStatement() на объекте Connection, полученном с помощью одного из методов DriverManager.getConnection() или DataSource.getConnection(), описанных ранее.

После получения экземпляра Statement, вы можете выполнить запрос, вызвав метод executeQuery(String) с используемым SQL-запросом.

Для обновления данных в базе данных, используйте метод executeUpdate(String SQL). Этот метод возвращает количество строк, соответствующих обновляющему запросу, а не количество изменённых строк.

Если заранее неизвестно, будет ли SQL-запрос или , то вы можете использовать метод execute(String SQL). Этот метод вернёт true, если SQL-запрос был запрос, или false, если это был запрос , или запрос. Если это был запрос, вы можете получить результаты, вызвав метод getResultSet(). Если это был запрос , , или запрос, вы можете получить количество затронутых строк, вызвав getUpdateCount() на экземпляре Statement.

Пример 7.2 Connector/J: Использование java.sql.Statement для выполнения запроса SELECT

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;

// assume that conn is an already created JDBC connection (see previous examples)

Statement stmt = null;
ResultSet rs = null;

try {
    stmt = conn.createStatement();
    rs = stmt.executeQuery("SELECT foo FROM bar");

    // or alternatively, if you don't know ahead of time that
    // the query will be a SELECT...

    if (stmt.execute("SELECT foo FROM bar")) {
        rs = stmt.getResultSet();
    }

    // Now do something with the ResultSet ....
}
catch (SQLException ex){
    // handle any errors
    System.out.println("SQLException: " + ex.getMessage());
    System.out.println("SQLState: " + ex.getSQLState());
    System.out.println("VendorError: " + ex.getErrorCode());
}
finally {
    // it is a good idea to release
    // resources in a finally{} block
    // in reverse-order of their creation
    // if they are no-longer needed

    if (rs != null) {
        try {
            rs.close();
        } catch (SQLException sqlEx) { } // ignore

        rs = null;
    }

    if (stmt != null) {
        try {
            stmt.close();
        } catch (SQLException sqlEx) { } // ignore

        stmt = null;
    }
}

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/connector-j-en/connector-j-usagenotes-statements.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API