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

Вниз

Извлечение данных из TDataSource   Найти похожие ветки 

 
MySQLProgrammer   (2008-02-09 14:37) [0]

Как извлечь данные из TDataSource зная номер строки и слобца?


 
DVM ©   (2008-02-09 15:36) [1]

Вопрос поставлен неверно.


 
MySQLProgrammer   (2008-02-09 17:05) [2]

Могу пояснить, есть база на MySQL, запрос возвращает таблицу с определённым кол-вом строк и столбцов. Надо из заданной ячейки таблицы извлечь информацию.


 
DVM ©   (2008-02-09 17:10) [3]


> MySQLProgrammer   (09.02.08 17:05) [2]

Ну перебрать в цикле записи, пока не доберешься до нужной, но вообще подход станный. Во-первых, откуда точно этот номер известен? Во вторых, может в запросе что поправить, чтобы сразу эту запись получить?


 
Правильный_Вася   (2008-02-09 18:42) [4]

откуда в датасорсе данные?
они могут быть только в датасете

работать нужно по уникальным идентификаторам записей, тогда это можно будет назвать "номер строки"
а "номер столбца" весьма зависит от того, в каком порядке в запросе прописаны поля
но обратиться по номеру можно Dataset.Fields[n]


 
MySQLProgrammer   (2008-02-09 20:42) [5]

Например, у нас есть таблица работников с полями ID, Name и т.п., даём самый простой запрос "select * from table1", чтобы показать имя первого работника пишем код ShowMessage(SQLDataSet1.FieldByName("name").AsString). Это я понял. Теперь возникает вопрос, как указать номер записи (строку) из которой производится выборка?
Сорри за глупый вопрос, просто понадобилось написать простую прогу на Delphi для работы с базой MySQL, язык SQL знаю вроде неплохо, но с Delphi+SQL пока работать не приходилось.


 
DVM ©   (2008-02-09 20:48) [6]


> Теперь возникает вопрос, как указать номер записи (строку)
> из которой производится выборка?

Возникает ответный вопрос - зачем? В таблице нет как такового номера строки. Там есть, возможно, например, уникальный ключ-счетчик. Но не номер.


 
palva ©   (2008-02-09 21:13) [7]

MySQLProgrammer   (09.02.08 20:42) [5]
Когда вы открыли Recordset, его первая запись является текущей, и вы можете брать Fields[n] из первой записи. Переместиться на следующую запись (если она есть) можно методом Next. Переместиться на несколько записей вперед или назад можно методом MoveBy(n)
Может быть вы об этом?


 
MySQLProgrammer   (2008-02-09 21:29) [8]

Спасибо, понял.


 
Anatoly Podgoretsky ©   (2008-02-10 01:02) [9]


> Вопрос поставлен неверно.

Вопрос поставлен верно, только в TDataSource  нет данных.


 
Германн ©   (2008-02-10 02:00) [10]


> Anatoly Podgoretsky ©   (10.02.08 01:02) [9]
>
>
> > Вопрос поставлен неверно.
>
> Вопрос поставлен верно, только в TDataSource  нет данных.
>
>

Т.е. вопрос поставлен не верно.

(Начинаю наматывать счётчик :)


 
DVM ©   (2008-02-10 09:55) [11]


> Anatoly Podgoretsky ©   (10.02.08 01:02) [9]


> Вопрос поставлен верно

Тогда ответьте на еще один 100% верный вопрос:

Как извлечь данные из TTimer зная номер строки и слобца?

И не надо увиливать, что мол в TTimer нет данных и строк, ответьте прямо -КАК?


 
Anatoly Podgoretsky ©   (2008-02-10 13:30) [12]

Вот прямо так и скажу - в TTimer нет данных и строк



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

Текущий архив: 2008.03.09;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
15-1201973141
Maloj2007
2008-02-02 20:25
2008.03.09
Копирование и вставка в компоненте TRichViewEdit


11-1166529914
2expres
2006-12-19 15:05
2008.03.09
Таймер на 10мс.


15-1201711092
kernel
2008-01-30 19:38
2008.03.09
PHP из Perl


15-1202128056
nikfel
2008-02-04 15:27
2008.03.09
Что вы думаете о программе


15-1201771165
Noter
2008-01-31 12:19
2008.03.09
Учебник