---
title: "DoStatement - Выполнить запрос базы данных"
type: guide
api: [api7]
tags: [guide, api7, dostatement]
sources:
  - dostatement.html
---

*API экспортных функций > Функции работы с прикладной библиотекой  > Функции работы с базами данных *

Пример...
Аналог данной функции при использовании Automation - метод ksDataBaseObject::ksDoStatement.
Синтаксис:
```
int DoStatement (reference bd, reference rel, char * str);
Входные параметры:
bd    - указатель на объект БД,
rel    - действительный указатель на отношение,
str    - запрос.
Возвращаемое значение:
1    - в случае успешного завершения,
0    - в случае неудачи.
Пример запроса выборки из БД:
Select d, s, p from bolt where d = 10
Где d, s, p - названия колонок или * для всех колонок или номера колонок "2, 4, 7" для текстового файла, начиная с единицы слева направо, bolt - имя таблицы в БД или "" для всех колонок текстового файла, d - имя колонки в отношении.
Нужен действительный указатель r на отношение.
Пример запроса для вставки строки в таблицу bolt.
Insert into bolt (d,p,s) values( 10, 1.5, 14 )
Пример запроса для удаления строки из таблицы bolt.
Delete from bolt where d = 10
Пример запроса для замены данных в строке таблицы bolt.
Update bolt set p = 2.5, s = 20 where d =10
Для ODBC баз отношение не обязательно в случае Insert, Delete, Update. Для текстового файла отношение в этом случае необходимо, чтобы определить имена колонок
```
Примечание:
Параметр str при работе через ODBC-интерфейс содержит строку SQL-запроса, а при работе с текстовыми файлами - номера полей (колонок) или пустую строку (если обрабатываются все поля таблицы). Для текстовых баз данных созданный запрос будет обрабатывать все записи, а непосредственно условие выборки определяется функцией Condition.
