Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
как организовать поиск такой же записи
|
|||
|---|---|---|---|
|
#18+
есть база, из нее я делаю курсор - отбираю записи по определенному условию как мне теперь искать в базе такую же запись как выбрана в курсоре? ну я понимаю что надо описывать сравнение по полям. но вопрос, собственно, в том есть ли какой-нить модный способ, типа сделать Select curMyBase Scatter to sSearchRec Select MyBase Locate for sSearchRec или вроде того, ведь и курсор и база абсолютно одинаковы по структуре да и по содержимому, с той разницей, что в курсоре не все записи. Или надо тогда организовать попольный рилейшн с базой родителем или еще как? Или в курсор во время select добавить поле с номером записи в родителе, типа select *, recno(MyBase) as BaseRec into cursor curMyBase... и потом на этот BaseRec ориентироваться в МyBase? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 18:35 |
|
||
|
как организовать поиск такой же записи
|
|||
|---|---|---|---|
|
#18+
В любой таблице должно быть ключевое поле. Это поле, по содержимому которого можно однозначно опрделить о какой записи идет речь. Т.е. в принципе не должно существовать 2-х записей с одинаковым значением этого ключевого поля. Как правило, в качестве ключевого поля выступает суррогатный ключ. Дальше все просто. Одним из полей в твоем курсоре должно быть это ключевое поле. По нему ты и найдешь соответсвтующую запись в исходной таблице. Подробнее о ключевых полях читай здесь http://www.foxclub.ru/kb/index.php?sid=24056&aktion=artikel&rubrik=001&id=6&lang=ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 18:46 |
|
||
|
как организовать поиск такой же записи
|
|||
|---|---|---|---|
|
#18+
Я статейку эту уже читал и думал об этом. Но, понимаете, оно все правильно, но программа без этого уже годами работает, это означает поднять все архивы и внести туда ключевое поле. Это раз. Ну и второе - я так и не понял КАК ГЕНЕРИТЬ значение этому полю так, чтобы оно было уникальным, т.е. 100%, чтобы не искать такое же значение в базе прежде чем добавить туда новую запись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 10:55 |
|
||
|
как организовать поиск такой же записи
|
|||
|---|---|---|---|
|
#18+
Какая версия фокса? Если 8.0-ка, то используй поле Integer(AutoInc), оно автоматически присваивает уникальное значение, если версия ниже, то советую написать процедуру или функцию формирования уникального ключа...у нас например, этот ключ выглядит в виде поля C(4) Id_rec00010002...0009000a000b000c...000A000B и т.д. Обеспечивает 62^4 уникальных ключей ------------------------------------------------------------------------------------ Я во все дела суюсь -> всесторонне разовьюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 11:06 |
|
||
|
как организовать поиск такой же записи
|
|||
|---|---|---|---|
|
#18+
Ваша функция это просто конвертилка в НЕХ, если я правильно понимаю? у меня 8 и такой тип поля есть. Я его ввел - там все значения стали=0 на всю базу. и чего теперь? Ну я добавлю запись - то значение в нем=1 и тд а что с существующими записями-то делать? риплейс через рекно()? - фигу, он рид-онли. че сконвертить структуру в отдельное фало и аппендом в него, аппендом? и вообще, это поле практически будет соответствовать рекно(), ну, до первоо удаления с упаковкой... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 14:18 |
|
||
|
как организовать поиск такой же записи
|
|||
|---|---|---|---|
|
#18+
CTAC-KO Ну я добавлю запись - то значение в нем=1 и тд а что с существующими записями-то делать? Выстави в таблице для этого поля следующее значение в число записей+1, и увеличение на 1. CTAC-KOон рид-онли. че сконвертить структуру в отдельное фало и аппендом в него, аппендом? С чего это рид-онли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 14:31 |
|
||
|
как организовать поиск такой же записи
|
|||
|---|---|---|---|
|
#18+
А я ключевое поле делаю типа: YYMMDDччммсс - по две цифры на год, месяц, день, час , мин., сек. - при нормальной работе (если ен делать по две-три-четыре... записи в секунду) записи никогда не повторятся. А если работает скоростник - тормоза ему! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 14:48 |
|
||
|
как организовать поиск такой же записи
|
|||
|---|---|---|---|
|
#18+
Кстати - заодно можно и определить, когда была сделана запись - иногда бывает нужно, а иногда даже производит впечатление на кое-кого ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 14:50 |
|
||
|
как организовать поиск такой же записи
|
|||
|---|---|---|---|
|
#18+
CTAC-KOНу и второе - я так и не понял КАК ГЕНЕРИТЬ значение этому полю так, чтобы оно было уникальным, т.е. 100%, чтобы не искать такое же значение в базе прежде чем добавить туда новую запись. Сделай поиск по этому форму по ключевому слову "NewId" Crispy Какое время берешь? С сервера или с локальной машины? Как вытаскиваешь время сервера? В общем случае, ключевое поле как чистое DateTime - верный путь к большим проблемам. Если бы все было так просто, то не было бы столько функций по генерации GUID-ов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 15:02 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32955742&tid=1594673]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
97ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 433ms |

| 0 / 0 |
