AnyLogic
Развернуть
Размер шрифта

Работа с базами данных в AnyLogic PLE

В этой статьи описываются функции, задействующие программный интерфейс устаревшего элемента База данных.
Для оптимальной работы с данными в AnyLogic воспользуйтесь встроенной базой данных модели.

AnyLogic Professional предоставляет пользователю набор инструментов (Вставка (Insert), Обновление (Update), Запрос (Query), Ключ-Значение Текстовый файл), облегчающих работу с базами данных. Используя их, вам больше не нужно будет пытаться самостоятельно формировать SQL запросы и выражения — теперь вы можете легко конструировать их с помощью графических средств вышеперечисленных инструментов.

Если же вы — пользователь AnyLogic University Researcher или AnyLogic PLE, то вся эта функциональность также будет доступна, но в этом случае в вашем распоряжении будет только лишь объект База данных. Вам нужно будет создать экземпляр этого объекта, связать его с базой данных и затем уже работать с ее содержимым посредством перечисленных ниже методов:

Функции
Функция Описание
boolean connect() Устанавливает соединение с базой данных, указанной в параметрах конструктора. Процесс соединения выполняется, только если объект еще не соединен. Возвращает true, если соединение было успешно установлено или уже существовало, и false в противном случае.
void disconnect() Разрывает соединение с базой данных.
Мы рекомендуем явно завершать или производить откат активной транзакции (если какая-либо была явно открыта с помощью метода Connection.setAutoCommit(boolean)) перед вызовом этого метода. Если этот метод вызывается в момент существования активной транзакции, то результаты будут непредсказуемы. Если произойдет ошибка, возникнет ошибка RuntimeException.
Connection getConnection() Возвращает существующее соединение с базой данных или устанавливает с ней соединение, если оно не было установлено.
ResultSet getResultSet(String sqlQuery) Выполняет заданный SQL запрос (sqlQuery) и возвращает полученный результат (или null, если возникла ошибка).
Вызовите метод ResultSet.close() после выполнения всех необходимых операций.
boolean modify(String sqlQuery) Выполняет заданный SQL запрос (sqlQuery). Создан для SQL запросов, изменяющих данные, хранящиеся в базе данных Возвращает значение типа boolean, показывающее, была ли операция проведена успешно или нет.
Integer getFieldType(String sTableName, String sFieldName) Метод возвращает SQL-тип указанного поля или null, если произошла ошибка.

sTableName — имя таблицы
sFieldName — имя поля
String getValue(String sqlQuery) Выполняет заданный SQL запрос (sqlQuery) и возвращает полученное значение (или null, если возникла ошибка, или если запрос не выдал никаких значений). Предназначен для SQL запросов, которые возвращают только одно значение (например, функции агрегирования SQL — MAX, MIN и т.д.).
java.util.Map<java.lang.string,java.lang.string> getRow(String sqlQuery) Выполняет заданный SQL запрос (sqlQuery) и возвращает полученные значения или null, если возникла ошибка, или если запрос не выдал никаких значений. Предназначен для SQL запросов, которые возвращают только одну строку значений. Результаты возвращаются в виде объекта типа Map и содержат пары {"имя поля"; "значение поля"} типа String.
Object getMatrix(String sqlQuery, String type) Выполняет заданный SQL запрос и возвращает полученные значения в виде двумерного массива заданного типа или null, если возникла ошибка, или если запрос не выдал никаких значений, или если заданный тип недопустим. Метод поддерживает все допустимые примитивные типы Java, а также класс String.
ResultSet getTableResultSet(String tableName, String listOfFields, String keyField, String keyFieldValue) Метод возвращает набор значений, полученный путем выполнения запроса по заданным полям и строкам указанной таблицы.
Вызовите метод ResultSet.close() после выполнения всех необходимых операций.
tableName — имя таблицы
listOfFields — список полей (игнорируется, если null)
keyField — имя ключевого поля (игнорируется, если null или если sListOfFields — null)
keyFieldValue — значение ключевого поля (игнорируется, если null или если sListOfFields — null)
ResultSet getQueryResultSet(String queryText, String listOfFields, String keyField, String keyFieldValue) Возвращает набор значений, полученный путем выполнения запроса по заданным полям и строкам указанного запроса.
Вызовите метод ResultSet.close() после выполнения всех необходимых операций.
queryText — текст запроса
listOfFields — список полей (игнорируется, если null)
keyField — имя ключевого поля (игнорируется, если null или если sListOfFields — null)
keyFieldValue — значение ключевого поля (игнорируется, если null или если sListOfFields — null)
Как мы можем улучшить эту статью?