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

Вниз

Извлечение данных из 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.045 c
15-1202066029
Неважно
2008-02-03 22:13
2008.03.09
Альтернатива GSM-модему


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


3-1192972241
diman315
2007-10-21 17:10
2008.03.09
Вытащить Data source из .udl


2-1202823087
Fanbio
2008-02-12 16:31
2008.03.09
записать 6 байтное число


6-1182092002
Степан
2007-06-17 18:53
2008.03.09
Узнать название подключения по IP





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский