silence
|
|
1 | |
Как не удалить запись из таблицы?12.02.2011, 22:47. Показов 1510. Ответов 10
Метки нет (Все метки)
Здравствуйте, возникла следующая проблема:
при работе с recordset и удалении записи из этого recordset одновременно удаляется и запись из таблицы, т.е. до выполнения recordset.update. Можно ли сделать так, чтобы запись не удалялась. Mне нужно изменять сам recordset, но таблицу оставить без изменений, т.е. Код
set rs4=server.createobject('adodb.recordset') rs4.Activeconnection=con ssql4='select question.formulation, question.type_q, question.counter from question where question.test_c='&number_test&_ ' and question.name='&id_prep rs4.open ssql4, con, 3, 2 rs4.delete |
12.02.2011, 22:47 | |
Ответы с готовыми решениями:
10
Как удалить из текущую таблицы запись которые просматриваю с помощью курсора? Как удалить запись из таблицы? Таблицы связаны по принципу "Один ко многим". Как удалить запись из первой таблицы Как можно удалить запись из временной таблицы? |
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
13.02.2011, 10:51 | 2 |
Какой смысл в таком действии?
Напиши лучше запрос который не будет возвращать эту запись.
0
|
silence
|
|
13.02.2011, 19:09 | 3 |
Смысл на самом деле в том, чтобы по random выводить записи из recordset. Мне казалось, что лучше всего выбирать по random запись и, чтобы она не продублировалась, удалять ее из recordset. Возможно, есть другие пути решения?
|
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
14.02.2011, 09:57 | 4 |
Про вывод случайной записи читайте в этой теме. Там есть примеры для MSSQL и для Access.
http://relib.com/forums/topic.asp?id=794853
0
|
Silver
|
|
14.02.2011, 13:14 | 5 |
Попробуй сделать клон рекордсета и курочить его.
(пример на VB, но принцип думаю понятен) [code] Set rstClone = rstSource.Clone |
silence
|
|
15.02.2011, 00:08 | 6 |
to bazile
дело в том, что в скором времени базу нужно будет перенести с access на ms sql. поэтому хотелось бы найти какое-то общее решение, а в приведенной вами ссылке либо для одного, либо для другого. to Silver если курочить клон, таблица все-равно меняется. |
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
15.02.2011, 09:50 | 7 |
Универсальное решение для любой базы это чтение Recordset в массив c помощью GetRows. И выбор случайной записи уже из массива. Но это медленное решение и я не советую так делать. Универсального решения с использованием SQL скорее всего нет. Лучше использовать решение специфическое для базы. В любом случае смена БД требует пересмотра кода SQL.
0
|
silence
|
|
15.02.2011, 22:05 | 8 |
2bazile спасибо, тогда попытаюсь ускорить переход на sql.
|
Nurbek
|
|
24.02.2011, 14:29 | 9 |
перед rs4.Activeconnection=nothing необходимо закрыть соединение:
rs4.Close |
silence
|
|
24.02.2011, 19:59 | 10 |
делаю, не помогает.
|
Nurbek
|
|
25.02.2011, 17:14 | 11 |
Метод Delete объекта рекодсет (RS.Delete) как раз таки для удаления записи таблицы.
Как я понял, Вы хотите 'пропускать' некоторые записи. Тогда используйте RS.MoveNext, RS.MovePrevious, RS.Move Можно попробовать открыть рекордсет с другим параметром LockEdit: RS.Open SQLStmt, Conn, 3, 3 dbOptimistic=3 |
25.02.2011, 17:14 | |
25.02.2011, 17:14 | |
Помогаю со студенческими работами здесь
11
Как удалить запись из таблицы через datagridview с бд aceess Как удалить выбранную запись из таблицы Access в форме VB ? Как переместить запись из одной таблицы в другую нажатием кнопки |Удалить| на форме в Access Удалить запись из таблицы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |