AnyLogic Professional предоставляет пользователю набор инструментов (Вставка (Insert), Обновление (Update), Запрос (Query), Kлюч-Значение), облегающих работу с базами данных. Используя их, Вам больше не нужно будет пытаться самостоятельно формировать SQL запросы и выражения - теперь Вы можете легко конструировать их с помощью графических средств вышеперечисленных инструментов.
Если же Вы - пользователь AnyLogic Advanced, то вся эта функциональность также будет доступна, но в этом случае в Вашем распоряжении будет только лишь объект База данных. Вам нужно будет создать экземпляр этого объекта, связать его с базой данных и затем уже работать с ее содержимым посредством перечисленных ниже методов:
public boolean connect()- Устанавливает соединение с базой данных, указанной в параметрах конструктора. Процесс соединения выполняется, только если объект еще не соединен. Возвращает true, если соединение было успешно установлено или уже существовало, и false в противном случае.
public void disconnect()
- Разрывает соединение с базой данных.
Настоятельно рекомендуется, чтобы пользователь явно завершал или производил откат активной транзакции (если какая-либо была явно открыта с помощью метода Connection.setAutoCommit(boolean))перед
вызовом этого метода. Если этот метод вызывается в момент существования
активной транзакции, то результаты будут непредсказуемы. Если
произойдет ошибка, будет выдано исключение RuntimeException.
public java.sql.Connection
getConnection() - Возвращает существующее соединение с базой данных или устанавливает с ней соединение, если оно не было установлено.
If any error occurs, throws RuntimeException.
public ResultSet getResultSet(String sqlQuery) - Выполняет заданный SQL запрос (sqlQuery) и возвращает полученный результат (или null, если возникла ошибка). Пожалуйста, вызовите метод ResultSet.close() после выполнения всех необходимых операций.
public boolean modify(String sqlQuery) - Выполняет заданный SQL запрос (sqlQuery). Создан для SQL запросов, изменяющих данные, хранящиеся в базе данных Возвращает значение типа boolean, показывающее, была ли операция проведена успешно или нет.
public Integer
getFieldType(String sTableName, String sFieldName)
- Метод возвращает SQL-тип указанного поля или null, если произошла ошибка.
Параметры: sTableName - имя таблицы.
sFieldName
- имя поля.
public String getValue(String sqlQuery) - Выполняет заданный SQL запрос (sqlQuery) и возвращает полученное значение (или null, если возникла ошибка, или если запрос не выдал никаких значений). Предназначен для SQL запросов, которые возвращают только одно значение (например, функции агрегирования SQL - MAX, MIN и т.д.).
public java.util.Map<java.lang.String,java.lang.String> getRow(String sqlQuery) - Выполняет заданный SQL запрос (sqlQuery) и возвращает полученные значения или null, если возникла ошибка, или если запрос не выдал никаких значений. Предназначен для SQL запросов, которые возвращают только одну строку значений. Результаты возвращаются в виде объекта типа Map и содержат пары {"имя поля"; "значение поля"} типа String.
public Object
getMatrix(String sqlQuery, String type)-
Выполняет заданный SQL запрос и возвращает полученные значения в виде
двумерного массива заданного типа или
null, если возникла ошибка, или если запрос не выдал никаких значений,
или если заданный тип недопустим. Метод поддерживает все допустимые
примитивные типы Java, а также класс String.
public ResultSet
getTableResultSet(String tableName, String listOfFields, String
keyField, String keyFieldValue)
- Метод возвращает набор значений, полученный путем выполнения запроса
по заданным полям и строкам указанной таблицы. Пожалуйста, вызовите
метод ResultSet.close()
после выполнения всех необходимых операций.
Параметры: tableName - имя таблицы
listOfFields
- список полей (игнорируется, если null)
keyField
- имя ключевого поля (игнорируется, если null
или если sListOfFields
- null)
keyFieldValue
- значение ключевого поля (игнорируется, если null или если if sListOfFields - null)
public ResultSet
getQueryResultSet(String queryText, String listOfFields, String
keyField, String keyFieldValue)
- Возвращает набор значений, полученный путем выполнения запроса по
заданным полям и строкам указанного запроса. Пожалуйста, вызовите
метод ResultSet.close()
после выполнения всех необходимых операций.
Параметры: queryText - текст запроса
listOfFields
- список полей (игнорируется, если null)
keyField
- имя ключевого поля (игнорируется, если null
или если sListOfFields
- null)
keyFieldValue
- значение ключевого поля (игнорируется, если null или если if sListOfFields - null)