Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2012, 16:38   #1
Diakon
Пользователь
 
Регистрация: 11.02.2009
Сообщений: 11
По умолчанию Какчерез AdoQuery передать значение в переменную

Смысл такой. Есть простая access таблица TipCuzova из двух полей id и name
Как с помощью AdoQuery можно в цикле получать в переменную значения из столбца name?
Я начал, написал запрос
SQL.Clear;
SQL.Add('SELECT * FROM TipCuzova');
ADOQuery1.Active:=True;
А вот дальше не пойму. Подскажите, плиз. Заранее спасибо!
Diakon вне форума Ответить с цитированием
Старый 23.01.2012, 22:04   #2
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

добавь
Код:
... 
tmp := AdoQuery.FieldByName('Имя_поля').AsVariant;
...
maLoy*508 вне форума Ответить с цитированием
Старый 23.01.2012, 23:29   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну, если автор темы понимает, о чём говорит, тогда ему нужно получать значения в цикле.
Попробуйте так:
Код:
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM TipCuzova');
ADOQuery1.Open;
while Not ADOQuery1.EOF do begin
  ShowMessage(ADOQuery1.FieldByName('Name').AsString); {разумеется, вместо отображения поставьте свой код обработки...}
  ADOQuery1.Next; {переход на следующую запись}
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.01.2012, 23:30   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Если в цикле, то
Код:
ADOQuery1.First;
while not ADOQuery1.Eof do begin
  //здесь используя ADOQuery1.FieldByName выбираем значение поля
  ADOQuery1.Next;
end;
P.S. Опоздал
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.01.2012, 17:42   #5
SovereignSun
Форумчанин
 
Регистрация: 22.11.2011
Сообщений: 127
По умолчанию

Ребят если он так в цикле будет получать у него переменная будет перезаписываться все время. может ему массив нужен, тогда array пусть юзает.
например
Код:
var mass: array [0..9999] of string;
    last_i, i: integer;
Begin
qry1.SQL.Clear;
qry1.SQL.Text:='Select * from ____ Order by _____';
qry1.Open;
qry1.First;
last_i:=qry1.RecordCount;
for i:=i+1 to last_i do
begin
mass[i]:=qry1.FieldByName('_____').AsString;
qry1.RecNo:=qry1.RecNo+1;
end;
end;

________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 25.01.2012 в 22:34.
SovereignSun вне форума Ответить с цитированием
Старый 25.01.2012, 22:33   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от SovereignSun
Ребят если он так в цикле будет получать у него переменная будет перезаписываться все время. может ему массив нужен, тогда array пусть юзает.
Категорически не согласен!

Вот где Вы в исходном сообщении прочитали, ЧТО автор вопроса собирается делать в цикле?!
Заметьте, в предложенных вариантах это оставлено на совести автора темы.
Может он хочет дерево из имён построить.. А может - в мемо эти имена вывести. А может - в текстовый файл сохранить, а может -в MS Excel передать... в зависимости от этого и надо уже решать, нужен ли ему массив или не нужен, а если и нужен, то зачем он статический на 9999 строк! (тогда уж динамический массив лучше заюзать!)...



p.s. я уже молчу про этот вот "шедевр":
Цитата:
Код:
for i:=i+1 to
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.01.2012, 09:08   #7
SovereignSun
Форумчанин
 
Регистрация: 22.11.2011
Сообщений: 127
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Категорически не согласен!

Вот где Вы в исходном сообщении прочитали, ЧТО автор вопроса собирается делать в цикле?!
Заметьте, в предложенных вариантах это оставлено на совести автора темы.
Может он хочет дерево из имён построить.. А может - в мемо эти имена вывести. А может - в текстовый файл сохранить, а может -в MS Excel передать... в зависимости от этого и надо уже решать, нужен ли ему массив или не нужен, а если и нужен, то зачем он статический на 9999 строк! (тогда уж динамический массив лучше заюзать!)...



p.s. я уже молчу про этот вот "шедевр":
Когда я себе делал, он котегорически отказывается для базы данных использовать Динамический массив. А что в шедевре не то? Шикарно у меня проверяет.
SovereignSun вне форума Ответить с цитированием
Старый 26.01.2012, 09:56   #8
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Цитата:
Сообщение от SovereignSun Посмотреть сообщение
А что в шедевре не то? Шикарно у меня проверяет.
Чему у Вас i равно перед началом цикла?
_Engine_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать переменную в другую форму FACE OFF Помощь студентам 2 07.01.2011 11:32
вместо memo передать в переменную bulldog5293 Работа с сетью в Delphi 5 24.12.2010 23:13
Передать переменную в поток,туплю. larin1974 Помощь студентам 2 20.11.2009 05:25
передать переменную другой форме Var17 Общие вопросы Delphi 5 07.01.2009 02:03
передать переменную ar4i Общие вопросы Delphi 10 04.12.2006 14:30