Форум: "Базы";
Текущий архив: 2002.11.11;
Скачать: [xml.tar.bz2];
ВнизТрабл с DBGrid ом Найти похожие ветки
← →
Bill (2002-10-22 13:10) [0]Знатоки, подскажите - как определить номер записи в базе на которую указывает строка DBGrid после клика мышой на ней
← →
Max Zyuzin (2002-10-22 13:13) [1]DataSet.RecNo;
← →
Bis (2002-10-22 13:33) [2]для локальных работает, а вот для остальных - не факт
← →
MsGuns (2002-10-22 13:38) [3]TTable.RecNo возвращает НЕ номер записи в БД (т.е.физ.номер записи в таблице), а номер записи В ТЕКУЩЕМ КУРСОРЕ. Они одинаковы в случае, когда курсор отображает ПОЛНУЮ таблицу, да и то без учета только что внесенных (вносимых) изменений другими юзерами с других компов
← →
Max Zyuzin (2002-10-22 13:44) [4]Bis (22.10.02 13:33)
>MsGuns © (22.10.02 13:38)
В вопросе сказано, что база - парадокс..
← →
Bis (2002-10-22 13:46) [5]А зачем нужен физический номер записи,
кроме как для процедуры обновления?
Да и то только драйверам.
Тем более реализация его разная от базы к базе
← →
MsGuns (2002-10-22 16:18) [6]>Max Zyuzin © (22.10.02 13:44)
А я и написал для Paradox. Физический номер записи в нем видно только на просмотре ВСЕЙ таблы. Если таблица является дочерней и линкуется к Master`у, то RecNo отразит для 1-й по-порядку записи значение "0", хотя в общей массе дочерней таблицы она может иметь 1000-й порядковый номер. То же самое будет и на просмотре курсоров, получаемых через Query с параметрами, "обрезающих" данные до нужного представления.
← →
MsGuns (2002-10-22 16:22) [7]>MsGuns © (22.10.02 16:18)
> то RecNo отразит для 1-й по-порядку записи значение "0",
следует читать
то RecNo отразит для 1-й по-порядку записи значение "1"
Очепятка 8((
← →
Max Zyuzin (2002-10-23 09:05) [8]>MsGuns © (22.10.02 16:18)
В общем автор вопроса нас бы разсудил, но пропал куда-то... (в смысле что именно ему надо), но кто скажет, что RecNo возвращает не номер записи - пусть первым бросит в меня камень :)
← →
Johnmen (2002-10-23 09:18) [9]>Max Zyuzin © (23.10.02 09:05)
>кто скажет, что RecNo возвращает не номер записи - пусть первым >бросит в меня камень
Не хочу брасаться камнями...:)))
Но, в общем случае, это не так...
← →
Max Zyuzin (2002-10-23 09:20) [10]>Johnmen © (23.10.02 09:18)
Да я понимаю, но согласись, что в контексте вопроса - это может и так?
← →
Johnmen (2002-10-23 09:35) [11]>Max Zyuzin © (23.10.02 09:20)
Я очень люблю точность и однозначность определений и понятий.
Так вот, что такое номер записи ? По какому однозначному критерию можно его определить ?
(в контексте вопроса )
← →
Anatoly Podgoretsky (2002-10-23 09:45) [12]MsGuns © (22.10.02 13:38)
У Парадок нет номеров физическиз записей, только логические номера, я думаю, что Johnmen © (23.10.02 09:18) по этой причине выражает сомнение. Номера есть у dBase, но в реальной работе они нафиг не нужны, а если такая потребность возникла, то это что то не в порядке в консерватории.
← →
Max Zyuzin (2002-10-23 09:50) [13]>Johnmen © (23.10.02 09:35)
Я тоже по образованию математик, и люблю точности...
Ну а по делу СУБД у нас локальная, как человек просматривает данные я затрудняюсь сказать, и что именно он имеет в виду под номером записи в базе, возможно его интересует номер записи в текущем датасете...? Тогда подойдет RecNo. Если же его интересует физический номер в БД, то мне кажется здесь никто не даст ответа, кроме людей, разработавших сам парадокс.
Я прекрасно понимаю, что в случаях выборок и фильтров RecNo вернет номер записи в выборке... но из формулировки вопроса не понятно что именно необходимо.
← →
MsGuns (2002-10-23 11:54) [14]>Anatoly Podgoretsky © (23.10.02 09:45)
>MsGuns © (22.10.02 13:38)
>У Парадок нет номеров физическиз записей, только логические >номера
Если уж о точности. Да, физического № как сущности, физически записанной на веник,в парадоксе нет. Однако записи в таблицах физически УПОРЯДОЧЕНЫ (если очень примерно, то подобно цепочкам кластеров с сохранением опять же упорядоченных указателей на них в виде отдельных файлов ключей или индексов) - именно это позволяет "летать" от первой записи до последней и назад даже на ОГРОМНЫХ таблицах.
Если же используется КЛЮЧ (Primary), то с некоторым допуском можно сказать, что записи имеют некоторый порядковый номер внутри всего массива. Именно этот номер иногда весьма удобно наблюдать, например, при ручных правках БД (такое очень редко, но приходится делать).
Если же говорить о смысле пор.№ вообще, то мне лично эта тема не кажется такой уж эфемерной. Например, при перемещении по гриду с достаточно большим кол-вом строк юзеру весьма не лишне показывать что-то вроде "Запись 1056 из 3965".
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.11.11;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.009 c