ADOCE
Язык запросов в ADOCE
[править]Язык запросов в ADOCE поддерживает следующие команды:
* DELETE * INSERT * SELECT – Join * SELECT – Like * SELECT – Order By * SELECT – Projection * SELECT – Restricted * SELECT – Simple
DELETE
[править]Эта команда позволяет удалить опеределенную сторку из таблицы. Команда DELETE в отличие от метода ADO Delete, позволяет удалять сразу несколько строк.
DELETE [FROM] tablename [WHERE where-expression]
Параметры:
tablename
Имя таблицы из которой будут удаляться строки.
where-expression
Аналогично выражению WHERE команды SELECT. Если условие WHERE присутствует в команде, оманда удалит только строки ему удовлетворяющие. Более подробно описано в описании команды SELECT - Restricted.
Возвращаемые значения.
The following table shows the error values that can be returned. Команда может вернуть следующие коды ошибок: Константа Значение Описание E_OUTOFMEMORY 8007000E Out of memory. DB_E_ERRORSINCOMMAND 80040E14 Incorrect syntax near token. DB_E_NOTABLE 80040E37 Table table does not exist. DB_E_BADCOLUMNID 80040E11 Field field does not exist. DB_E_CANTCONVERTVALUE 80040E07 Cannot convert type, constant. DB_E_DATAOVERFLOW 80040E57 Constant value constant overflowed.
Дополнительная информация.
Если в команде не используется условие WHERE, команда удалит все записи из указанной таблицы. Ключевое слово FROM использовать не обязательно, единственная его функция — совместимость со стандартами SQL.
Пример:
Dim rs, i Set rs = CreateObject("ADOCE.Recordset.3.1") rs.Open "CREATE TABLE deleteme (a int, b int, c int)" rs.Open "deleteme", "", adOpenKeyset, adLockOptimistic For i = 1 To 15 rs.Addnew "a", i Next MsgBox rs.Recordcount rs.Close rs.Open "DELETE deleteme WHERE 'a' > 7" MsgBox "Records deleted" rs.Open "deleteme" MsgBox rs.Recordcount rs.Close rs.Open "DROP TABLE deleteme" Set rs = Nothing