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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2011, 03:31   #1
-Jack-
Форумчанин
 
Регистрация: 19.04.2009
Сообщений: 368
По умолчанию из DBGrid в MEMO

Доброго времени суток. В принципе, в заголовке и есть описание проблемы )
из Mysql бд грузится 1 столбец в DBGrid. Из DBGrid хотелось бы этот столбец записать в memo, а вот от туда уже в текстовы файл.

В принципе, вся загвоздка в том, чтобы из DBGrid данные переместить в memo.

Пробывал в инете искать решение похожей задачки, но чаще попадалось, что из DBGrid грузят в Excel ... Пробывал навоять что-то своё, но в лучшем случаи получалось, что из всего столбца грузится только первый элемент
-Jack- вне форума Ответить с цитированием
Старый 27.11.2011, 05:32   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

В DBGrid данных нет, данные в TDataset.
Если нужно получить данные из текущей записи, то
Код:
Memo.text:=DBGrid.DataSource.DataSet.FieldByName('имя поля').AsString;
если из всех, то
Код:
Memo.Lines.Clear;
DBGrid.DataSource.DataSet.First;
while not DBGrid.DataSource.DataSet.Eof do
begin
Memo.Lines.Add(DBGrid.DataSource.DataSet.FieldByName('имя поля').AsString);
DBGrid.DataSource.DataSet.next;
end;
хотя последнее я не неазвал бы разумным подходом, мало ли сколько в TDataset записей.

Последний раз редактировалось vovk; 27.11.2011 в 14:52.
vovk вне форума Ответить с цитированием
Старый 27.11.2011, 14:30   #3
-Jack-
Форумчанин
 
Регистрация: 19.04.2009
Сообщений: 368
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Active:=False;
ADOQuery1.Active:=True;
today := Time;

while not DBGrid1.DataSource.DataSet.Eof do
begin
  sline:=sline+', '+DBGrid1.DataSource.DataSet.FieldByName('bd_1').AsString;
end;

Memo1.Lines.Add('['+ TimeToStr(today)+']'+':Обновление статистики');
Memo1.Lines.Add(sline );
Memo1.Lines.SaveToFile(ExtractFilePath( 'logs\' ) +  'log_'+n2+'.txt');
end;
Что-то я делаю не то )
-Jack- вне форума Ответить с цитированием
Старый 27.11.2011, 14:38   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
with DBGrid1.DataSource.DataSet do
while not Eof do begin
  sline:=sline+', '+FieldByName('bd_1').AsString;
  next;
end;
Увидел? У тебя цикл бесконечный получился.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отобразить все поля DBGrid в Memo Krechet БД в Delphi 7 15.09.2010 18:28
В ячейках DBGrid изображается поле типа text как (Memo) belartvlad29 БД в Delphi 2 18.07.2010 14:36
DBGrid и поля с типом MEMO doncova1 БД в Delphi 4 27.03.2009 01:20
dbgrid и memo Doget Помощь студентам 2 12.03.2009 12:54
В Memo сделать так, чтобы текст был разного цвета, разноцветный memo Artem Компоненты Delphi 3 07.09.2007 13:40