Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как получить аналог RecordsAffected при выполнении команды ADO? / 6 сообщений из 6, страница 1 из 1
18.10.2004, 16:04:08
    #32742948
Ольга_Т
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить аналог RecordsAffected при выполнении команды ADO?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Dim conn As ADODB.Connection
Dim cmd As ADODB.Command
Dim CommitOK As Boolean
CommitOK = True


Set conn = CurrentProject.Connection
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = conn
cmd.CommandType = adCmdText
cmd.CommandText = "BEGIN TRANSACTION"
cmd.Execute

cmd.CommandText = "DELETE  From MyTable WHERE MyTable.MyField=" & MyParameter
cmd.Execute
 ' Тут должно быть присвоение значения CommitOK  

If CommitOK Then
  cmd.CommandText = "COMMIT TRANSACTION"
  cmd.Execute
  MsgBox "Задание выполнено!", vbInformation
Else
  cmd.CommandText = "ROLLBACK TRANSACTION"
  cmd.Execute
  MsgBox "Операция отменена!", vbInformation
End If

Я не понимаю, как мне получить, сколько записей было удалено? Известно, сколько надо удалить, но, допустим, команда не выполнена. Как мне получить об этом информацию? Я хочу откатывать транзакцию
И еще. Мне не удается проверить, сколько записей, подлежащих удалению, могло остаться, попытка сделать DCount или Dlookup до завершения транзакции вызывает зависание базы.
Подскажите, какое есть решение.
...
Рейтинг: 0 / 0
18.10.2004, 16:22:44
    #32742993
PA
PA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить аналог RecordsAffected при выполнении команды ADO?
command.Execute RecordsAffected , Parameters, Options

RecordsAffected
Optional. A Long variable to which the provider returns the number of records that the operation affected. The RecordsAffected parameter applies only for action queries or stored procedures. RecordsAffected does not return the number of records returned by a result-returning query or stored procedure. To obtain this information, use the RecordCount property. The Execute method will not return the correct information when used with adAsyncExecute, simply because when a command is executed asynchronously, the number of records affected may not yet be known at the time the method returns.
...
Рейтинг: 0 / 0
18.10.2004, 17:03:19
    #32743115
Alexey Sh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить аналог RecordsAffected при выполнении команды ADO?
А транзакциями лучше управлять через методы объекта Connection
BeginTrans, CommitTrans, RollbackTrans
...
Рейтинг: 0 / 0
18.10.2004, 17:33:20
    #32743185
Ольга_Т
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить аналог RecordsAffected при выполнении команды ADO?
PAcommand.Execute RecordsAffected , Parameters, Options
Так вот я и не понимаю, куда лошадь запрягать!
...
Рейтинг: 0 / 0
18.10.2004, 17:36:41
    #32743192
Ольга_Т
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить аналог RecordsAffected при выполнении команды ADO?
Alexey ShА транзакциями лучше управлять через методы объекта Connection
BeginTrans, CommitTrans, RollbackTrans
Спасибо, я попробую. Я сделала ползком по Гетцу.
...
Рейтинг: 0 / 0
19.10.2004, 09:44:49
    #32743729
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить аналог RecordsAffected при выполнении команды ADO?
Ольга_Т Alexey ShА транзакциями лучше управлять через методы объекта Connection
BeginTrans, CommitTrans, RollbackTrans
Спасибо, я попробую. Я сделала ползком по Гетцу.

А у присловутого Гетца select @@rowcount ни где не всплывал?

Насчет транзакций... ну не знаю ... cnn.BeginTrans .EQ. SET IMPLICIT_TRANSACTIONS ON? Это не всегда удобно....
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как получить аналог RecordsAffected при выполнении команды ADO? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]