Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Принцип работы рекордсета? / 11 сообщений из 11, страница 1 из 1
09.12.2005, 14:12:47
    #33427431
Vadon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Принцип работы рекордсета?
Доброго времени суток всем. У мя вопрос касаемо схемы выполнения запроса...

есть таблица, со след. полями:
Деталь
Ремонт
TaskID
ParentID

я пробегаю запросом, и если Ремонт<>"РИ" то удалить все (т.е. тех что наследуется от детей и т.д. вглубь иерархии), что наследуется от данной детали, кроме детей и самой детали.
как потом рекордсет бежит...?

он взял первую запись, если Ремонт<>"РИ", то удаляет что я ему указал другим рекордсетом, и переходит на вторую?
...
Рейтинг: 0 / 0
09.12.2005, 14:22:20
    #33427468
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Принцип работы рекордсета?
Покажите сначала код.
...
Рейтинг: 0 / 0
09.12.2005, 14:38:35
    #33427509
Vadon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Принцип работы рекордсета?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Dim delvnuk As String
Dim rsdelvnuk As ADODB.Recordset
Dim t As String
Dim q As Integer

Dim pp As String
Dim rspp As ADODB.Recordset

delvnuk = "select Текст27,TaskID from Tasks"
Set rsdelvnuk = conn.Execute(delvnuk)

Do While Not (rsdelvnuk.EOF Or rsdelvnuk.BOF)
    t = rsdelvnuk.Fields( 0 ).Value
    If t <> "РИ" Then q = rsdelvnuk.Fields( 1 ).Value
    pp = "DELETE * FROM Tasks WHERE TaskID Not In (SELECT TaskID FROM Tasks WHERE TaskID=" & q & " or ParentID=" & q & ")"
    Set rspp = conn.Execute(pp)
    rsdelvnuk.MoveNext
Loop
...
Рейтинг: 0 / 0
09.12.2005, 14:52:14
    #33427551
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Принцип работы рекордсета?
так как у вас открыт forwardonly рекордсет, смею предположить, что изменения в нем, после выполнения запросов на удаление, вы не увидите.
...
Рейтинг: 0 / 0
09.12.2005, 14:59:09
    #33427573
Vadon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Принцип работы рекордсета?
to Konst_One
а как от этого избавится?
...
Рейтинг: 0 / 0
09.12.2005, 15:04:35
    #33427595
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Принцип работы рекордсета?
См. MSDN: Recordset object (ADO) -> CursorType Property.
Зачем вам нужен rspp?
...
Рейтинг: 0 / 0
09.12.2005, 15:08:39
    #33427610
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Принцип работы рекордсета?
и вообще, что-то не совсем понятно, что же вы в итоге хотите получить?
...
Рейтинг: 0 / 0
09.12.2005, 15:14:21
    #33427627
Vadon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Принцип работы рекордсета?
В итоге я получаю таблицу, в которой не будет тех элементов вот с этого запроса...
Код: plaintext
select *  from Tasks where ParentID in (select TaskID  from Tasks where ParentID in (SELECT  TaskID  FROM Tasks where Текст27<>"РИ"))
т.е. "внуков" и дальше по иерархии
...
Рейтинг: 0 / 0
09.12.2005, 15:20:04
    #33427644
Vadon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Принцип работы рекордсета?
Ладно, я неправильно поставил задачу, за это сорри. Давайте успростим. Есть рекордсет1. Внутри его еще один - рекордсет2.
Принцип следующий: идет первый рекордсет, в нем обрабатывается 2-й. Если 2-й удаляет. То куда перейдет первый? Он останется на 1-й записи, или перейдет на следующюю запись?
...
Рейтинг: 0 / 0
09.12.2005, 15:29:28
    #33427683
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Принцип работы рекордсета?
да, видно действительно вы объяснять не умеете.
прочитайте про курсоры, ссылка вам уже была дана выше

PS
мне кажется, что вашу задачу можно решить одним запросом на удаление.
...
Рейтинг: 0 / 0
09.12.2005, 15:53:40
    #33427752
Vadon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Принцип работы рекордсета?
to Konst_One
НУ что ж...почитаю и буду учится :)
Всем спасибо за хлопоты...
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Принцип работы рекордсета? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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