SQLPreparedStatement

SQL подготовил оператор

Описание

SQLPreparedStatement объект включает, вы, чтобы создать SQL подготовили оператор. SQL подготовился, оператор может импортировать, обновить, вставить или удалить данные в базе данных. Кроме того, SQL подготовился, оператор может вызвать хранимые процедуры в базе данных.

SQL-оператор может быть одним из этих операторов:

  • SELECT

  • INSERT

  • UPDATE

  • DELETE

  • CALL

SQL подготовился, оператор содержит параметры, которые связаны со значениями. Путем привязки параметров можно выполнить тот же SQL-оператор для различных значений неоднократно. Преимущества использования SQL подготовились, операторы включают улучшенную производительность и безопасность.

Примечание

Если вы используете подготовленные операторы SQL с драйвером JDBC и базой данных кроме Microsoft® SQL Server® или PostgreSQL, поведение SQL подготовилось, оператор варьируется на основе реализации драйвера JDBC оператора. Поведение может вызвать неожиданные результаты.

Создание

Создайте SQLPreparedStatement объект с databasePreparedStatement функция.

Свойства

развернуть все

Это свойство доступно только для чтения.

SQL подготовил запрос оператора, заданный как скаляр строки.

Пример: "SELECT * FROM inventoryTable WHERE inventoryDate > ? AND inventoryDate < ?"

Типы данных: string

Это свойство доступно только для чтения.

Количество параметра, заданное в виде числа для общего количества параметров в SQL, подготовило оператор.

Типы данных: double

Это свойство доступно только для чтения.

Типы параметра, заданные как массив строк. Связывать значения должны быть одним из типов параметра.

Тип параметра является одним из этих значений типа данных:

  • "double"

  • "string"

  • "datetime"

  • "logical"

Пример: ["string" "string"]

Типы данных: string

Значения параметров, заданные как массив ячеек значений, чтобы связать заданными параметрами в SQL, подготовили оператор.

Пример: {2 5}

Типы данных: cell

Функции объекта

bindParamValuesСвяжите значения с параметрами
closeЗакройтесь SQL подготовил оператор

Примеры

свернуть все

Создайте подготовленный оператор SQL, чтобы импортировать данные от базы данных Microsoft® SQL Server® с помощью соединения с базой данных JDBC. Используйте SELECT SQL-оператор для SQL-запроса. Импортируйте данные от базы данных и отобразите результаты.

Создайте соединение с базой данных JDBC к базе данных SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.

datasource = 'MSSQLServerJDBCAuth';
conn = database(datasource,'','');

Создайте подготовленный оператор SQL для того, чтобы импортировать данные от базы данных SQL Server с помощью соединения с базой данных JDBC. Вопросительные знаки в SELECT SQL-оператор указывает, что это - подготовленный оператор SQL. Этот оператор выбирает все данные из таблицы базы данных inventoryTable для материально-технических ресурсов, которые имеют дату материально-технических ресурсов в заданном диапазоне дат.

query = strcat("SELECT * FROM inventoryTable ", ...
    "WHERE inventoryDate > ? AND inventoryDate < ?");
pstmt = databasePreparedStatement(conn,query)
pstmt = 
  SQLPreparedStatement with properties:

           SQLQuery: "SELECT * FROM inventoryTable where inventoryDate > ? AND inventoryDate < ?"
     ParameterCount: 2
     ParameterTypes: ["string"    "string"]
    ParameterValues: {[]  []}

pstmt SQLPreparedStatement объект с этими свойствами:

  • SQLQuery — SQL подготовил запрос оператора

  • ParameterCount — Количество параметра

  • ParameterTypes — Типы параметра

  • ParameterValues — Значения параметров

Свяжите значения параметров в подготовленном операторе SQL. Выберите оба параметра в подготовленном операторе SQL с помощью их числовых индексов. Задайте значения, чтобы связать как диапазон дат материально-технических ресурсов между 1 января 2014 и 31 декабря 2014. Совпадайте с форматом дат в базе данных. bindParamValues функционируйте обновляет значения в ParameterValues свойство pstmt объект.

selection = [1 2];
values = {"2014-01-01 00:00:00.000", ...
    "2014-12-31 00:00:00.000"};
pstmt = bindParamValues(pstmt,selection,values)
pstmt = 
  SQLPreparedStatement with properties:

           SQLQuery: "SELECT * FROM inventoryTable where inventoryDate > ? AND inventoryDate < ?"
     ParameterCount: 2
     ParameterTypes: ["string"    "string"]
    ParameterValues: {["2014-01-01 00:00:00.000"]  ["2014-12-31 00:00:00.000"]}

Импортируйте данные от базы данных с помощью fetch функционируйте и связанные значения параметров. Результаты содержат четыре строки данных, которые представляют все материально-технические ресурсы с датой материально-технических ресурсов между 1 января 2014 и 31 декабря 2014.

results = fetch(conn,pstmt)
results=4×4 table
    productNumber    Quantity    Price         inventoryDate     
    _____________    ________    _____    _______________________

          1            1700      14.5     {'2014-09-23 09:38:34'}
          2            1200         9     {'2014-07-08 22:50:45'}
          3             356        17     {'2014-05-14 07:14:28'}
          7            6034        16     {'2014-08-06 08:38:00'}

Закройтесь SQL подготовил оператор и соединение с базой данных.

close(pstmt)
close(conn)

Ограничения

  • SQLPreparedStatement поддержка объектов соединение с базой данных JDBC только.

Введенный в R2019b