Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.05.22;
Скачать: [xml.tar.bz2];

Вниз

Как считать значение всех полей в БД по номеру строки?   Найти похожие ветки 

 
Nikos   (2003-05-02 11:10) [0]

Есть БД. Состоит она из одной таблицы. Мне нужно считать 3 знаения поля строки №10, и вывести в lb1, lb2, lb3. Как это сделать так, чтобы не использовать таблицу?


 
MsGuns   (2003-05-02 13:13) [1]

Что значит "не использовать таблицу" ? Может, хотел сказать, не используя TTable ?


 
Nikos   (2003-05-02 15:33) [2]

Да, именно это я хотел сказать. Если знаете как решить мою проблему, просьба написать в форум.


 
MsGuns   (2003-05-02 15:53) [3]

Исли не хочешь "ползать" курсором по отображаемому в гриде датасету, связанному с таблицей, то есть 2 метода:

1. Использовать этот же датасет
- Отключить отображение данных в гриде методом DisableControls датасета или Grid.DataSource.Enable := false;
- Запомнить текущее положение активной записи датасета (TTable.GeBookMark)
- Использовать метод TTable.MoveBy на кол-во строк, равное разнице между текущей (RecNo) и требуемой (10-й в твоем примере)
- Извлечь значения нужных полей в кэпшины лабелей (Label1.Caption := TTable1.FieldByName("MyField1").AsString)
- Вернуться в исх.строку TTable.GoToBookMark
(вообще-то вместо бокмарок можно исп-ть просто RecNo)
- Включить отображение данных.

2. Не трогая датасет, чтобы не менять видимую часть данных (в том числе положение активной записи относительно начала отображаемого в гриде подмножества записей)
- Создать (или использовать созданный в дизайне) другой TTable, связанный с этой же таблицей. В нем и искать требуемую запись.

Все это касается только относительного номера записи того курсора, который отображается в гриде. Вообще-то понятие "номер записи" весьма относительное и не отражает реального состояния таблицы или ее части, если вместо TTable исп-ся TQuery. Но даже в случае исп-я TTable без фильтрации нет никакой гарантии, что запись за номером 1 является самой первой на самом деле, т.к. с другого компа могли что-то вставить перед ней или ее же удалить.


 
Anatoly Podgoretsky   (2003-05-02 15:59) [4]

Ну если еще и учесть, что набор данных каждый раз может быть выдан в любои порядке при отсутствии упорядочивания, то вообще труба. Если для Парадокс это и не так, то для клиент серверных это просто норма.


 
MsGuns   (2003-05-02 16:04) [5]

>Anatoly Podgoretsky © (02.05.03 15:59)

Скорее всего автор сабжа не особо знаком с клиент-серверными БД, работает с парадокс, использую TTable, не сортирует записи и считает, что он один юзает таблицу - тогда такой подход имеет смысл.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.05.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
3-70126
ALI
2003-04-28 19:36
2003.05.22
Как экспортировать БД из MDB формата в GDB формат ?


11-70192
tamerlan311
2002-08-13 17:15
2003.05.22
сообщения от мыши


8-70397
Axis_of_Evil
2002-12-16 09:25
2003.05.22
UnDelphiX


7-70552
OlegM
2003-03-24 11:38
2003.05.22
А можно ли под 2000 помигать лампочками на клаве как в 98


1-70332
Valeris
2003-05-08 19:24
2003.05.22
Как узнать размер в байтах ??





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский