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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2012, 13:08   #1
андрей56789
 
Регистрация: 31.01.2012
Сообщений: 4
Вопрос данные в StringGridе из базы данных accesa

приветствую вас, у меня проблема с переносом данных из DBGridа в StringGrid , проблема в том что переносится только одна строка, а не весь список как хотелось бы . Нажимая на кнопку "ДОБАВИТЬ ДАННЫЕ" из DBGridа переносится одна строка ВОТ КОД:

Код:
procedure TForm1.N9Click(Sender: TObject);
begin
  StringGrid1.Cells[0,0]:=Form4.DBGrid1.Columns[0].FieldName ; //номер
  StringGrid1.Cells[1,0]:=Form4.DBGrid1.Columns[1].FieldName ; //мест
  StringGrid1.Cells[2,0]:=Form4.DBGrid1.Columns[2].FieldName ; //цена

__________________________________________________
for i:=0 to Form4.ADOTable1.Fields.Count-1 do                 
StringGrid1.Cells[i,2]:=Form4.ADOTable1.fields[i].asstring;   
__________________________________________________
x:=StrToDate(DateToStr(Date));
z:=StrToTime(TimeToStr(Time));

for i:=3 to StringGrid1.ColCount-1 do
StringGrid1.Cells[i,0]:=DateToStr (x-4+i);
StringGrid1.Cells[4,0]:=DateToStr (x)+ ' *';
end;


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

Последний раз редактировалось Serge_Bliznykov; 27.04.2012 в 14:24.
андрей56789 вне форума Ответить с цитированием
Старый 27.04.2012, 14:16   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Для оформления кода есть кнопочка #
Код:
nrow:=2;
from4.adotable1.first; //становимся на первую запись
while not form4.adotable1.eof do begin // проходим по всем записям до конца
// здесь переносим данные из текущей записи
  for i:=0 to Form4.ADOTable1.Fields.Count-1 do
    StringGrid1.Cells[i,nrow]:=Form4.ADOTable1.fields[i].asstring; 
//////////////////////////////////////////////////
  form4.adotable1.next; // меняем текущую запись
end;
а лучше посмотрите на связку
DBGrid + Datasource + ADOtable
ADODataSet (или ADOQuery)

использовать компоненты одной формы (form4) в работе другой (form1) не есть хороший тон.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 27.04.2012, 15:43   #3
андрей56789
 
Регистрация: 31.01.2012
Сообщений: 4
По умолчанию

что то не получается из всего что перепробовал этот код более менее лучше , но все равно не то
Код:
for nrow:=2 to ADOTable1.Fields.Count do
adotable1.first; //становимся на первую запись
while not ADOTable1.Eof do begin // проходим по всем записям до конца
// здесь переносим данные из текущей записи
  for i:=0 to ADOTable1.Fields.Count-1 do
    StringGrid1.Cells[i,nrow]:=ADOTable1.fields[i].asstring;
//////////////////////////////////////////////////
 adotable1.next; // меняем текущую запись
end;
даже на одной форме пробовал делать , да и я еще не очень как программист
Изображения
Тип файла: jpg 67.jpg (35.0 Кб, 101 просмотров)
андрей56789 вне форума Ответить с цитированием
Старый 02.05.2012, 09:35   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
////// for nrow:=2 to ADOTable1.Fields.Count do
nrow:=2;
adotable1.first; //становимся на первую запись
while not ADOTable1.Eof do begin // проходим по всем записям до конца
// здесь переносим данные из текущей записи
  for i:=0 to ADOTable1.Fields.Count-1 do
    StringGrid1.Cells[i,nrow]:=ADOTable1.fields[i].asstring;
//////////////////////////////////////////////////
 adotable1.next; // меняем текущую запись
  nrow:=nrow+1;  вот ключевая (забытая в предыдущем примере)
end;
StringGrid1.rowcount:=nrow +1; // и еще одна полезная строчка
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести нужные данные из базы nikleb PHP 3 20.04.2012 22:28
данные в utf8 для базы данных ispro Общие вопросы Delphi 3 03.04.2012 20:55
Как извлечь данные из поврежденной базы данных Fezdipekla Microsoft Office Access 1 04.03.2011 11:01
Не могу вывести данные из базы Access'a Ce4kok БД в Delphi 4 25.01.2009 19:20
Как удалить из базы данные типа TBlobField? Novi4ek Помощь студентам 7 04.06.2008 15:14