powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Delete
4 сообщений из 4, страница 1 из 1
Delete
    #32014291
Alena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dim adoconnect As ADODB.Connection
Dim adorecordset As ADODB.Recordset

Set adoconnect = New ADODB.Connection
Set adorecordset = New ADODB.Recordset

adoconnect.Open "Provider = SqlOleDb;Server=ServerName;Database=pubs;Uid=Other;pwd=pass"

adorecordset.CursorLocation = adUseClient
adorecordset.CursorType = adOpenKeyset
adorecordset.Open "select * from NameTable where Login = '" & LoginStudent & "' ", adoconnect

If adorecordset.RecordCount<>0
' именно в этом месте появляется ошибка 3251 о том, что объект не может выполнить требуемую операцию
adorecordset.Delete
else
....
endif



Не подскажите, пожалуйста, где я ошиблась?
...
Рейтинг: 0 / 0
Delete
    #32014301
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте так

If adorecordset.RecordCount<>0
adorecordset.MoveFirst
adorecordset.Delete
else
....
endif
...
Рейтинг: 0 / 0
Delete
    #32014319
Alena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению, это строка входила в изначальный код и не работала.
Самое интересное заключается в том, что просто строка:

adorecordset.Open "delete from NameTable where Login = '" & LoginStudent & "' ", adoconnect

удаляет указанную запись.
Можно, конечно, было бы использовать именно ее (эту стррку). Но здесь небходима сложная проверка и аутентификация пользователя. Поэтому должен сначала создаваться курсор, содержащий определенные записи, а затем происходит их удаление в зависимости от удовлетворения их условиям
...
Рейтинг: 0 / 0
Delete
    #32014329
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто до открытия курсора явно задайте тип блокировки, допукающий удаление записи:
adorecordset.LockType = adLockOptimistic

И какой-то коннект у Вас странный... Я прописываю так:
Data Provider=SQLOLEDB;Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UID;Password=PASS
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Delete
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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