Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Delete / 4 сообщений из 4, страница 1 из 1
18.09.2001, 13:47
    #32014291
Alena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delete
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
18.09.2001, 15:27
    #32014301
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delete
Попробуйте так

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

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

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

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


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