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

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

Как прочитать данные из TSDQuery/TIBQuery?


Влад ©   (2004-09-03 12:17:00) 

Добрый день уважаемые.

Столкнулся с проблемой..
В программе нельзя использовать DBGrid, всвязи со спецификой ТЗ.
Проблема заключается в том, что после выполнения простого запроса через TSDQuery (или TIBQuery), я к своему стыду не могу прочитать данные..

Вот что получется

select * from events where id>(maxid - VisibleColCount)

далее, когда я пытаюсь прочитать значения полей, то возвращается только значение из первой прочитанной записи:

Читаю сейчас так:

var Msgs:Variant;

Msgs := SDQuery.FieldValues['MSG']; // где MSG - текстовое поле

при проверке:

SDQuery.RecordCount = VisibleColCount
а VarArrayDimCount(Msgs) = 0....

а Msgs равен первой записи из полученной в результате выполения запроса таблицы.

Подскажите пожалуйста как можно правильно считать столбик данных.

Заранее благодарен,
Влад


Карелин Артем   (2004-09-06 11:20:00) [1]

Роман Снегирев   (03.09.04 13:00) [4]
Ты тип переменной Msg смотрел? В данном случае это правильно.


Роман Снегирев   (2004-09-03 13:00:00) [2]

вот это Msgs := SDQuery.FieldValues['MSG']
по моему полная шнягя, надо писать
Msgs := SDQuery.FieldByName('MSG').AsString


Влад   (2004-09-03 12:25:00) [3]

Карелин Артем ©   (03.09.04 12:20) [1]
Огромное спасибо

Sergey13 ©   (03.09.04 12:21) [2]
к сожалению, ТЗ утверждено...


Sergey13   (2004-09-03 12:21:00) [4]

2Влад   (03.09.04 12:17)
>В программе нельзя использовать DBGrid, всвязи со спецификой ТЗ.
Переписать ТЗ нафиг.


Карелин Артем   (2004-09-03 12:20:00) [5]

var Msgs:Variant;
while not(SDQuery.eof) do
begin
 Msgs := SDQuery.FieldValues['MSG']; // где MSG - текстовое поле
 SDQuery.next;
end;


Наверх

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