Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Извлечение данных из TDataSource [D7, MySQL]


MySQLProgrammer ©   (2008-02-09 14:37:00) 

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


Anatoly Podgoretsky   (2008-02-10 13:30:00) [1]

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


DVM   (2008-02-10 09:55:00) [2]


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


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

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

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

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


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


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

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

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


Anatoly Podgoretsky   (2008-02-10 01:02:00) [4]


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

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


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

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


palva   (2008-02-09 21:13:00) [6]

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


DVM   (2008-02-09 20:48:00) [7]


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

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


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

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


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

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

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


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


> MySQLProgrammer   (09.02.08 17:05) [2]

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


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

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


DVM   (2008-02-09 15:36:00) [12]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо