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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2010, 21:48   #1
theYozh
Пользователь
 
Аватар для theYozh
 
Регистрация: 28.01.2009
Сообщений: 75
По умолчанию Как обойтись без DbGrid?

Как прочитать результат запроса, помещенный в datasource без использования визуальных компонентов?
Можно ли получить данные из datasource, не отображая их на форме через сетку?

Последний раз редактировалось theYozh; 02.01.2010 в 21:53.
theYozh вне форума Ответить с цитированием
Старый 02.01.2010, 22:09   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

конечно же - можно.
Визуальные компоненты, как ни странно, нужны для визуализации (отображения) данных.
А если Вам отображать данные не нужно, то и визуальные компоненты не нужны...
И тогда Вам и DataSource не нужен.
Вот, пример кода, как можно поместить в label1 количество записей в таблице MyTable..
Код:
Query1.Close;
Query1.Text := 'select count(*) as Cnt from MyTable';
Query1.Open;
if Not Query1.IsEmpty then
   Label1.Caption := IntToStr(Query1.FieldByName('Cnt').AsInteger)
else
  Label1.Caption := '#';
Query1.Close;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.01.2010, 22:13   #3
theYozh
Пользователь
 
Аватар для theYozh
 
Регистрация: 28.01.2009
Сообщений: 75
По умолчанию

22:13

В данном коде query имеет тип Tadoquery?

22:15

И как прочитать результат, если записей вернулось несколько, но все равно уже спасибо)

У нас принято пользоваться кнопочкой "Правка", дабы не плодить посты подряд, друг за другом.
Модератор

Последний раз редактировалось mihali4; 03.01.2010 в 00:33.
theYozh вне форума Ответить с цитированием
Старый 03.01.2010, 00:09   #4
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Без разницы куда и чего выводить, хоть на канву текстом.
привожу код с рабочего приложения. Насколько я помню, заполняет комбобокс списком населенных пунктов
Код:
Query.SQL.Text := 'SELECT PUNKT FROM kvart GROUP BY PUNKT';
  Query.Active := true;
  Query.First;
  cmbCity.Update;
  while not Query.Eof do begin
    cmbCity.Items.Add(Query.Fields[0].AsString);
    Query.Next;
  end;
Gorychev вне форума Ответить с цитированием
Старый 03.01.2010, 00:40   #5
theYozh
Пользователь
 
Аватар для theYozh
 
Регистрация: 28.01.2009
Сообщений: 75
По умолчанию

Структура моей таблицы words:
Key1 | original | labuda
Key1 - ключевое поле, счетчик, остальные поля - текстовые.
Код:
Query.SQL.Clear;
Query.SQL.Text:='SELECT original FROM words';
Query.Active := true;
Query.First;
while not Query.Eof do begin
    Memo1.lines.Add(Query.Fields[0].AsString);
    Query.Next;
end;
Query.Active := false;
При попытке выполнить этот код, появляется сообщение:
Query: Field 'Key1' not found.

Не могу понять при чем тут поле Key1 и почему не выполняется запрос.
Помогите разобраться.
theYozh вне форума Ответить с цитированием
Старый 03.01.2010, 01:15   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А у вас, видимо, в Query поля явно прописаны.
Проверьте даблкликом по Query - список полей должен быть пустым.
mihali4 вне форума Ответить с цитированием
Старый 03.01.2010, 01:53   #7
theYozh
Пользователь
 
Аватар для theYozh
 
Регистрация: 28.01.2009
Сообщений: 75
По умолчанию

Да, михалыч, вы оказались правы и раскрыли для меня тайну века огромное спасибо!
theYozh вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обойтись без события OnActivate? _Инженер_ Общие вопросы Delphi 4 01.10.2009 17:23
Как Как проверить кнопки мыши без OnMouseDown? Вадим Буренков Общие вопросы Delphi 3 22.05.2009 15:08
Обойтись без таймера Pedro Общие вопросы Delphi 1 20.11.2008 21:20
DBGrid - как расковырять oska-igor БД в Delphi 5 21.02.2007 01:39