|
|
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста, как удалить запись (не просто пометить) из курсора. Создаю CREATE CURSOR Удаляю DELETE номер записи Запись не видно, но к ней можно обратиться. PACK не работает с курсором, подскажите как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2005, 19:46 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
А теперь объясни ЗАЧЕМ? Чем она тебе мешает? Особенно если поставить Set deleted on? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2005, 20:00 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
Ели поставить set deleted on то их кроме того что можно пощупать можно будет увидеть. Понимаешь доступ то к записи остаётся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2005, 21:35 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
По set deleted on они становятся невидимыми . Кому они остаются доступны? Тебе или юзеру? Еще раз - так чем тебе помешали помеченные на удаление записи? Или ты их в гриде раасматриваешь? А грид не обновляешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2005, 21:47 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2005, 21:50 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
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. .не морочь, пацан, дядям голову ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2005, 21:58 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
Ну вот, я тут, понимаете ли, пытаюсь сподвигнуть человека хоть на какой-то мыслительный процесс, а некоторые нначинают как в школе подсказывать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2005, 21:59 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
Ребятеночек, я лишь предложил вариант решения проблемы, как дополнение к уже предложеным. Это всего лишь "способ". Неважно какой, но "способ". Так что собирай школьный ранец и не мешай взрослым дядам обсуждать программирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2005, 22:00 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
как бы ты не собрал тревожный чемоданчик и не поехал а армию служить, при моем небольшом желани. Вот там ты насмотриься трусняков :)) Я приложу все усилия, чтобы ты попал служить именно в мою часть, именно в мое подразделение. Вот теперь поговори. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2005, 22:06 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
Hi Flex0! Если ВНИМАТЕЛЬНО прочитать вопрос HeyJoe то станет понятно, что приведенный код это дословно то что делает данный господин. От Диченки там лишь последняя команда - оно конечно спорно - поскольку плоха сама постановка задачи... Автора уже спросили зачем он это делает и чем ему помешали удалённые записи - намекнув что что-то не то он очевидно делает. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2005, 02:13 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
Flex0...Что-то сотнями вьюх на строне сервера не пахнет, иначе бы подход был бы, как минимум по ID... Неужели некому пристрелить это "несчастье"??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2005, 09:31 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
Я вообще из курсора строю дерево. Так вот каунт записей говорит, что их столько же сколько и до удаления. Если посмотреть курсор то удалённых записей там не видно. При обращениии "курсор.столбец", к удалённой записи есть доступ. Вот и вся проблема. А решения не видно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2005, 09:41 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
Igor Korolyov Hi Flex0! Если ВНИМАТЕЛЬНО прочитать вопрос HeyJoe то станет понятно, что приведенный код это дословно то что делает данный господин. От Диченки там лишь последняя команда - оно конечно спорно - поскольку плоха сама постановка задачи... Автора уже спросили зачем он это делает и чем ему помешали удалённые записи - намекнув что что-то не то он очевидно делает. Posted via ActualForum NNTP Server 1.2 Ты о чем? Это не мой код:-) Задача в том, что бы счётчик записей фиксировал, только не удалённые, и соответственно: 1 Оба -удалено 2 Опа 3 Нукаси При обращении к 1 выдавало "Опа". Вроде так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2005, 09:48 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
Наверное, надо пойти другим путем, те определять кол-во записей в курсоре не через RECCOUNT(), а через SELECT COUNT() FROM ... WHERE !DELETED(), таким образом получишь кол-во записей не помеченных как удаленные и дальше строй свою логику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2005, 09:56 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
HeyJoeЯ вообще из курсора строю дерево. Так вот каунт записей говорит, что их столько же сколько и до удаления. Если посмотреть курсор то удалённых записей там не видно. При обращениии "курсор.столбец", к удалённой записи есть доступ. Вот и вся проблема. А решения не видно. Вы хотите сказать, что осуществляете связку "узел дерева - запись таблицы" через значения "индекс узла - физический номер записи"? Это неправильный подход. Идентификатором записи таблицы всегда должно быть значение ключевого поля. Только так и никак иначе. Все остальное - это создание проблем на свою голову. Значит, при создании узла дерева необходимо записать значение ключевого поля таблицы либо в KEY, либо в TAG узла дерева. И связка с записью таблицы через это значение. Общее количество записей можно определить и по количеству узлов в дереве. TreeView.Nodes.Count Если дерево содержит не все узлы, то следует подсчитать количество записей НЕ помеченных как удаленные. Определение количества записей по Reccount() - это также некорректное решение. Часть записей может НЕ использоваться при построении дерева даже если они и не помечены как удаленные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2005, 10:42 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
ВладимирМ Если дерево содержит не все узлы, то следует подсчитать количество записей НЕ помеченных как удаленные. Определение количества записей по Reccount() - это также некорректное решение. Часть записей может НЕ использоваться при построении дерева даже если они и не помечены как удаленные. Нет. Я просто хотел сказать, что не использую в гриде. Просто я перебираю записи до каунта. А потом по значению, допустим строка 2-я, удаляю в курсоре. Вобщем-то можно удаляте и не последовательные записи, тобишь если удалять "ячс" обратиться к 3-й записи, 1 йцу 2 фыв удалено 3 ячс , но хотелось бы обращаться ко 2-й. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2005, 11:45 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
Hi HeyJoe! Забудь про доступ к записям по их физическим номерам, и про RECCOUNT() тоже забудь. Если надо пройтись по курсору - используй скажем SCAN - он НЕ пойдёт через удалённые записи (конечно при условии SET DELETED ON) а для подсчёта числа записей (хотя 99% что это и не нужно тебе) используй COUNT TO lnCnt - эта команда также не считает удалённые записи при SET DELETED ON. Грид тут совершенно не при чём - читай про основы работы с курсорами и записями. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2005, 23:51 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
Hi to all ! Чувствую что иду по стопам многих, мучившихся проблемами, такими же что и у меня... Есть форма. На ней грид, у которого recordsource="somecursor", сделанный по select. Ранее, чтоб взять значение из выделенной строки грида для допустим Textbox'a, я писал: ...textbox.value=somecursor.myfield А теперь такая вот проблема-нужно удалить выделенную в гриде строку из somecursor. Наверное нет надобности писать, что у меня получилось после такого кода: Код: plaintext Хотелось бы знать, как сделать по уму... ПЛЗ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2006, 18:53 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
Да...спросить конечно легче, чем подумать... Если б подумал, сразу допёр бы, что в afterrowcolchange grid'a нужно сохранить значение ячейки в добавленное свойство, а потом по нему и производить delete... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2006, 19:35 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
Что-то я не понял назначения всех этих телодвижений. Выделенная строка курсора легко и свободно удаляется простой до безобразия командой Delete. Без каких-либо дополнительных слов. А если после этого еще и при настройке Set delete on дать команду на обновление грида, то удаленная запись исчезнет и с экрана. Че изобретаем-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2006, 22:14 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
Мы не ищем лёгких путей... Я как-то не подумал, что вместо delete from... where... можно использовать просто delete ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2006, 12:30 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
HeyJoeПодскажите пожалуйста, как удалить запись (не просто пометить) из курсора. Создаю CREATE CURSOR Удаляю DELETE номер записи Запись не видно, но к ней можно обратиться. PACK не работает с курсором, подскажите как быть? Если вы хотите ограничить доступ к записям, помеченным на удаление или еще как-то и кого-либо ограничить, вообще не давайте в грид алиас или таблицу. Работайте только с локальными (удаленными) представлениями. Такой подход снимет все ваши вопросы. Ведь вам и далее захочется не только записи к удалению фильтровать. Вообще прямая работа с таблицей в большом приложении - пережиток. В нормальны системах (ORACLE, например) такой лабуды нет. Хотим работать с данными - создаем курсор, в нем удаляем, правим, добавляем - затем обновляем таблицу, предварительно тригерами проверив значения и связи. Старайтесь так поступать - проще будет уйти на современную СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2006, 12:32 |
|
||
|
Удаление записи из курсора
|
|||
|---|---|---|---|
|
#18+
foxik...Наверное нет надобности писать, что у меня получилось после такого кода: Код: plaintext Хотелось бы знать, как сделать по уму... ПЛЗ... 1. проходящий тебе правильно ответил. 2. Ну раз ты видишь, что у тебя неладное получилось с кодом, то наверное надо было бы подумать, что код даже написан неправильно. Надо было бы что-то в этом роде Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2006, 17:31 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33220043&tid=1590456]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
178ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 495ms |

| 0 / 0 |
