Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.12.2010, 17:11
Аватар для Dead_Gigabit
Dead_Gigabit Dead_Gigabit вне форума
Начинающий
 
Регистрация: 20.10.2009
Адрес: Там где холодно и сыро.... брр
Сообщения: 135
Версия Delphi: Delphi XE
Репутация: 10
По умолчанию Stringrid и БД

Всем доброго, у меня такая проблемс
есть стрингрид в котором занесенны данные, есть бд также с данными.
Задача сравнить данные первого столбща стрингрида (нумерация с 0) с столбщом name в БД и при совпадении добавить результат в МЕМО.
делаю так:

Код:
var
s:string;
i: integer;
begin
memo1.Clear;
i:=0;
bd.first;
while not (bd.eof) do
begin
i:=i+1;
if stringgrid1.Cells[1,i]=bd.fieldbyname('upname').asstring then begin
memo1.Lines.Add(StringGrid1.Rows[i].Text);
end;

проверка проходит но в мемо не добавляются данные просто пустота...
Может кто нибудь обьяснить что не так?


Использую:
delphi 2010;
firebird 1.5

P.S. bd это Adoquery

Последний раз редактировалось Dead_Gigabit, 22.12.2010 в 17:14.
Ответить с цитированием
  #2  
Старый 22.12.2010, 17:49
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Как то странно проверка написана, очень странно... Если уж циклами сравнение идет, так хотя бы цикл внутри цикла надо написать, а не гнать параллельно.
Ответить с цитированием
  #3  
Старый 22.12.2010, 18:01
Аватар для Dead_Gigabit
Dead_Gigabit Dead_Gigabit вне форума
Начинающий
 
Регистрация: 20.10.2009
Адрес: Там где холодно и сыро.... брр
Сообщения: 135
Версия Delphi: Delphi XE
Репутация: 10
По умолчанию

Подробней, если можно пример....
Ответить с цитированием
  #4  
Старый 22.12.2010, 18:05
Babuca Babuca вне форума
Прохожий
 
Регистрация: 09.08.2009
Сообщения: 27
Репутация: 10
По умолчанию

atsutstvuet perexod na sledushi zapis.
Код:
bd.next;
Ответить с цитированием
  #5  
Старый 22.12.2010, 18:12
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Примерно так:
Код:
bd.first;
while not (bd.eof) do
begin
  for i:=0 to stringgrid1.RowCount-1 do
    if stringgrid1.Cells[1,i]=bd.fieldbyname('upname').asstring then
       memo1.Lines.Add(StringGrid1.Rows[i].Text);
  bd.next;
end;

Babuca, я подозреваю, что next там все же есть, просто в копипаст не попал...

Последний раз редактировалось TOJluK, 22.12.2010 в 18:14.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:13.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter