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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2013, 02:07   #1
reihtmonbern
Форумчанин
 
Регистрация: 08.01.2011
Сообщений: 102
По умолчанию отображение данных в Memo

Доброго времени суток использую код для отображение данных:

#
Код:
DataModule3.ADOQuery42.Active:=false;
 DataModule3.ADOQuery42.SQL.Text := 'select [ФИО] & " " & [Должность] & " " & [м-отправления] & " " & [м-назначения] & " " & [дата-н] & " " & [дата-к] & " " & [Основание] & " " & [Цель_задания] & " " & [ТАБ_№] from K where PKey Like '''+DBEdit1.Text+'%'' ';
 DataModule3.ADOQuery42.Active:=TRUE;
//Memo1.CLEAR;
DataModule3.ADOQuery42.Recordset.MoveFirst;
while not DataModule3.ADOQuery42.Recordset.EOF do
begin
 Memo4.Lines.Add(DataModule3.ADOQuery42.Recordset.Fields[0].Value);

DataModule3.ADOQuery42.Recordset.MoveNext;
end;
dbMemo3.Lines.AddStrings(Memo4.Lines);
#
всё хорошо работает но если sql запрос возвращает пустое значение
вылетает вот такая ошибка (вложенное изображение) подскажите как нужно код изменить таким образом что бы дэлфи не ругался а если пустое значение то просто поле memo оставалось бы пустым ??
Изображения
Тип файла: jpg Безымянный.jpg (30.3 Кб, 111 просмотров)

Последний раз редактировалось Stilet; 20.01.2013 в 11:57.
reihtmonbern вне форума Ответить с цитированием
Старый 20.01.2013, 09:46   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Проверку на пустоту запроса введите:


Код:
If not DataModule3.ADOQuery42.IsEmpty then begin
  DataModule3.ADOQuery42.Recordset.MoveFirst;
  while not DataModule3.ADOQuery42.Recordset.EO F do
  begin
    Memo4.Lines.Add(DataModule3.ADOQuer y42.Recordset.Fields[0].Value);

    DataModule3.ADOQuery42.Recordset.MoveNext;
  end;
  dbMemo3.Lines.AddStrings(Memo4.Line s);
end;
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 21.01.2013, 20:23   #3
reihtmonbern
Форумчанин
 
Регистрация: 08.01.2011
Сообщений: 102
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Проверку на пустоту запроса введите:


Код:
If not DataModule3.ADOQuery42.IsEmpty then begin
  DataModule3.ADOQuery42.Recordset.MoveFirst;
  while not DataModule3.ADOQuery42.Recordset.EO F do
  begin
    Memo4.Lines.Add(DataModule3.ADOQuer y42.Recordset.Fields[0].Value);

    DataModule3.ADOQuery42.Recordset.MoveNext;
  end;
  dbMemo3.Lines.AddStrings(Memo4.Line s);
end;
Спасибо большое очень помогло !
reihtmonbern вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отображение данных Артэс HTML и CSS 10 22.07.2011 20:15
отображение данных sid1868 Помощь студентам 0 29.05.2011 12:55
Отображение данных Waaper БД в Delphi 2 23.05.2011 16:16
Отображение текста в Memo или RichEdit Boss199999 Общие вопросы Delphi 2 26.03.2011 23:10
Отображение Аксесовского поля MEMO в DBMemo Pinya БД в Delphi 2 12.08.2008 09:20