![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Извлечение данных из 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]Вопрос поставлен неверно.