powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удаление записи из курсора
23 сообщений из 23, страница 1 из 1
Удаление записи из курсора
    #33219195
HeyJoe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста, как удалить запись (не просто пометить) из курсора.
Создаю CREATE CURSOR
Удаляю DELETE номер записи
Запись не видно, но к ней можно обратиться. PACK не работает с курсором, подскажите как быть?
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #33219210
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А теперь объясни ЗАЧЕМ? Чем она тебе мешает? Особенно если поставить Set deleted on?
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #33219296
HeyJoe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ели поставить set deleted on то их кроме того что можно пощупать можно будет увидеть. Понимаешь доступ то к записи остаётся.
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #33219303
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По set deleted on они становятся невидимыми .
Кому они остаются доступны? Тебе или юзеру? Еще раз - так чем тебе помешали помеченные на удаление записи? Или ты их в гриде раасматриваешь? А грид не обновляешь?
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #33219306
Фотография Диченка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
CREATE CURSOR ctest (f1 n)
INSERT INTO ctest (f1) VALUES ( 1 )
INSERT INTO ctest (f1) VALUES ( 2 )
INSERT INTO ctest (f1) VALUES ( 3 )
INSERT INTO ctest (f1) VALUES ( 4 )
INSERT INTO ctest (f1) VALUES ( 5 )
GO  3 
DELETE
SELECT * FROM ctest WHERE !DELETED() INTO CURSOR ctest READWRITE
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #33219310
Flex0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CREATE CURSOR ctest (f1 n)
INSERT INTO ctest (f1) VALUES (1)
INSERT INTO ctest (f1) VALUES (2)
INSERT INTO ctest (f1) VALUES (3)
INSERT INTO ctest (f1) VALUES (4)
INSERT INTO ctest (f1) VALUES (5)
GO 3
DELETE
SELECT * FROM ctest WHERE !DELETED() INTO CURSOR ctest READWRITE автор
Диченко, если так написаны твой 1000... строк кода на VFP, то да. тебе дорога только в фокспро
Особенно понравилось :

GO 3
DELETE
SELECT * FROM ctest WHERE !DELETED() INTO CURSOR ctest READWRITE

автор

Что-то сотнями вьюх на строне сервера не пахнет, иначе бы подход был бы, как минимум по ID.
.не морочь, пацан, дядям голову
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #33219311
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот, я тут, понимаете ли, пытаюсь сподвигнуть человека хоть на какой-то мыслительный процесс, а некоторые нначинают как в школе подсказывать :)
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #33219313
Фотография Трусняки Программизда02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребятеночек, я лишь предложил вариант решения проблемы, как дополнение к уже предложеным. Это всего лишь "способ". Неважно какой, но "способ". Так что собирай школьный ранец и не мешай взрослым дядам обсуждать программирование.
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #33219315
Flex0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как бы ты не собрал тревожный чемоданчик и не поехал а армию служить, при моем небольшом желани. Вот там ты насмотриься трусняков :)) Я приложу все усилия, чтобы ты попал служить именно в мою часть, именно в мое подразделение. Вот теперь поговори.
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #33219397
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Flex0!

Если ВНИМАТЕЛЬНО прочитать вопрос HeyJoe то станет понятно, что приведенный
код это дословно то что делает данный господин. От Диченки там лишь
последняя команда - оно конечно спорно - поскольку плоха сама постановка
задачи... Автора уже спросили зачем он это делает и чем ему помешали
удалённые записи - намекнув что что-то не то он очевидно делает.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #33219567
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flex0...Что-то сотнями вьюх на строне сервера не пахнет, иначе бы подход был бы, как минимум по ID...
Неужели некому пристрелить это "несчастье"???
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #33219588
HeyJoe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я вообще из курсора строю дерево. Так вот каунт записей говорит, что их столько же сколько и до удаления. Если посмотреть курсор то удалённых записей там не видно. При обращениии "курсор.столбец", к удалённой записи есть доступ. Вот и вся проблема. А решения не видно.
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #33219609
HeyJoe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Igor Korolyov
Hi Flex0!

Если ВНИМАТЕЛЬНО прочитать вопрос HeyJoe то станет понятно, что приведенный
код это дословно то что делает данный господин. От Диченки там лишь
последняя команда - оно конечно спорно - поскольку плоха сама постановка
задачи... Автора уже спросили зачем он это делает и чем ему помешали
удалённые записи - намекнув что что-то не то он очевидно делает.

Posted via ActualForum NNTP Server 1.2

Ты о чем? Это не мой код:-) Задача в том, что бы счётчик записей фиксировал, только не удалённые, и соответственно:
1 Оба -удалено
2 Опа
3 Нукаси
При обращении к 1 выдавало "Опа". Вроде так.
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #33219635
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное, надо пойти другим путем, те определять кол-во записей в курсоре не через RECCOUNT(), а через SELECT COUNT() FROM ... WHERE !DELETED(), таким образом получишь кол-во записей не помеченных как удаленные и дальше строй свою логику.
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #33219795
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HeyJoeЯ вообще из курсора строю дерево. Так вот каунт записей говорит, что их столько же сколько и до удаления. Если посмотреть курсор то удалённых записей там не видно. При обращениии "курсор.столбец", к удалённой записи есть доступ. Вот и вся проблема. А решения не видно.
Вы хотите сказать, что осуществляете связку "узел дерева - запись таблицы" через значения "индекс узла - физический номер записи"?

Это неправильный подход. Идентификатором записи таблицы всегда должно быть значение ключевого поля. Только так и никак иначе. Все остальное - это создание проблем на свою голову.

Значит, при создании узла дерева необходимо записать значение ключевого поля таблицы либо в KEY, либо в TAG узла дерева. И связка с записью таблицы через это значение.

Общее количество записей можно определить и по количеству узлов в дереве.

TreeView.Nodes.Count

Если дерево содержит не все узлы, то следует подсчитать количество записей НЕ помеченных как удаленные. Определение количества записей по Reccount() - это также некорректное решение. Часть записей может НЕ использоваться при построении дерева даже если они и не помечены как удаленные.
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #33220043
HeyJoe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ
Если дерево содержит не все узлы, то следует подсчитать количество записей НЕ помеченных как удаленные. Определение количества записей по Reccount() - это также некорректное решение. Часть записей может НЕ использоваться при построении дерева даже если они и не помечены как удаленные.
Нет. Я просто хотел сказать, что не использую в гриде. Просто я перебираю записи до каунта. А потом по значению, допустим строка 2-я, удаляю в курсоре. Вобщем-то можно удаляте и не последовательные записи, тобишь
если удалять "ячс" обратиться к 3-й записи,
1 йцу
2 фыв удалено
3 ячс
, но хотелось бы обращаться ко 2-й.
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #33221976
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi HeyJoe!

Забудь про доступ к записям по их физическим номерам, и про RECCOUNT() тоже
забудь. Если надо пройтись по курсору - используй скажем SCAN - он НЕ пойдёт
через удалённые записи (конечно при условии SET DELETED ON) а для подсчёта
числа записей (хотя 99% что это и не нужно тебе) используй COUNT TO lnCnt -
эта команда также не считает удалённые записи при SET DELETED ON.
Грид тут совершенно не при чём - читай про основы работы с курсорами и
записями.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Удаление записи из курсора
    #34098867
foxik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hi to all !
Чувствую что иду по стопам многих, мучившихся проблемами, такими же что и у меня...
Есть форма. На ней грид, у которого recordsource="somecursor", сделанный по select.
Ранее, чтоб взять значение из выделенной строки грида для допустим Textbox'a, я писал:
...textbox.value=somecursor.myfield

А теперь такая вот проблема-нужно удалить выделенную в гриде строку из somecursor.
Наверное нет надобности писать, что у меня получилось после такого кода:
Код: plaintext
delete from somcursor where somecursor.myfield=somecursor.myfield



Хотелось бы знать, как сделать по уму...
ПЛЗ...
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #34098932
foxik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да...спросить конечно легче, чем подумать...
Если б подумал, сразу допёр бы, что
в afterrowcolchange grid'a нужно сохранить значение ячейки в добавленное свойство, а потом по нему и производить delete...
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #34099140
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то я не понял назначения всех этих телодвижений. Выделенная строка курсора легко и свободно удаляется простой до безобразия командой Delete. Без каких-либо дополнительных слов. А если после этого еще и при настройке Set delete on дать команду на обновление грида, то удаленная запись исчезнет и с экрана. Че изобретаем-то?
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #34103720
foxik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мы не ищем лёгких путей...
Я как-то не подумал, что вместо delete from... where... можно использовать просто delete
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #34105592
ORAselect
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HeyJoeПодскажите пожалуйста, как удалить запись (не просто пометить) из курсора.
Создаю CREATE CURSOR
Удаляю DELETE номер записи
Запись не видно, но к ней можно обратиться. PACK не работает с курсором, подскажите как быть?

Если вы хотите ограничить доступ к записям, помеченным на удаление или еще как-то и кого-либо ограничить, вообще не давайте в грид алиас или таблицу. Работайте только с локальными (удаленными) представлениями. Такой подход снимет все ваши вопросы. Ведь вам и далее захочется не только записи к удалению фильтровать.

Вообще прямая работа с таблицей в большом приложении - пережиток. В нормальны системах (ORACLE, например) такой лабуды нет. Хотим работать с данными - создаем курсор, в нем удаляем, правим, добавляем - затем обновляем таблицу, предварительно тригерами проверив значения и связи. Старайтесь так поступать - проще будет уйти на современную СУБД.
...
Рейтинг: 0 / 0
Удаление записи из курсора
    #34105819
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
foxik...Наверное нет надобности писать, что у меня получилось после такого кода:
Код: plaintext
delete from somcursor where somecursor.myfield=somecursor.myfield

Хотелось бы знать, как сделать по уму...
ПЛЗ... 1. проходящий тебе правильно ответил.
2. Ну раз ты видишь, что у тебя неладное получилось с кодом, то наверное надо было бы подумать, что код даже написан неправильно. Надо было бы что-то в этом роде
Код: plaintext
delete from somcursor where somecursor.myfield=m.myfield
а переменной m.myfield до этого надо было бы присвоить что-то разумное.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удаление записи из курсора
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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