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