Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.22;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
3-70093
Michel
2003-05-04 15:23
2003.05.22
Как преобразовать БД одной системы в другую


7-70535
Calm
2003-03-24 16:19
2003.05.22
Как узнать запущен ли процесс с заданным именем?


3-70136
AlexGof
2003-04-30 12:35
2003.05.22
Отсоединенный набор в MS SQL


14-70501
ToT
2003-05-04 17:31
2003.05.22
Как переслать софт со ссылки в инете на своё мыло


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