Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 19.06.2015, 12:39   #1
MixanMM
Форумчанин
 
Регистрация: 09.06.2009
Сообщений: 136
По умолчанию Не отображает DBGrid

Всем добрый день, столкнулся с такой проблемой - при выполнении кода, ДБГрид просто сбрасывается и не отображает данные в таблице, хотя данные вносит:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
pivo(Button1);
DBGrid1.Refresh;
pro;
end;
и сами процедуры :
Код:
Procedure pro();

begin
Form1.ADOQuery2.Active:=false;
Form1.ADOQuery2.SQL.Clear;
Form1.ADOQuery2.SQL.Add('SELECT nomen,kol,price,sale FROM table1');
Form1.ADOQuery2.Active:=True;
Form1.dbgrid1.Columns[0].Title.Caption := 'Наименование';
Form1.dbgrid1.Columns[0].FieldName := 'nomen';
Form1.dbgrid1.Columns[0].Width:= 216;
Form1.dbgrid1.Columns[1].Title.Caption := 'Кол-во';
Form1.dbgrid1.Columns[1].FieldName := 'kol';
Form1.dbgrid1.Columns[1].Width:= 50;
Form1.dbgrid1.Columns[2].Title.Caption := 'Цена';
Form1.dbgrid1.Columns[2].FieldName := 'price';
Form1.dbgrid1.Columns[2].Width:= 90;
Form1.dbgrid1.Columns[3].Title.Caption := 'Скидка';
Form1.dbgrid1.Columns[3].FieldName := 'sale';
Form1.dbgrid1.Columns[3].Width:= 80;

end;

procedure pivo(Button:TButton);
Var
q,t:string;
begin
q:=Button.Caption;
t:='INSERT INTO table1 (nomen) VALUES('''+q+''')';
Form1.ADOQuery4.SQL.Clear;
Form1.ADOQuery4.SQL.Text:=t;
Form1.ADOQuery4.ExecSQL;
end;
хотя вот этот код, отображает данные в режиме "онлайн" :
Код:
procedure TForm1.DBGrid2DblClick(Sender: TObject);
var
 q,t,a: string;

begin
q:=DBGrid2.DataSource.DataSet.FieldByName('imya').AsString;
Label44.Caption:=q;
t:='INSERT INTO table1 (nomen) VALUES('''+q+''')';
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text:=t;
ADOQuery2.ExecSQL;
pro;
end;
т.е. данные переносятся сразу и сразу отображаются
MixanMM вне форума Ответить с цитированием
Старый 19.06.2015, 13:24   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

у Вас что ADOQuery по лимиту выдаются?
заведите отдельный ADOQuery для вставки записей и не трогайте тот query, к которому привязан DBGid
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.06.2015, 13:34   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Цитата:
SELECT nomen,kol,price,sale FROM table1
Может проще заменить на ADOTable?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.06.2015, 13:48   #4
MixanMM
Форумчанин
 
Регистрация: 09.06.2009
Сообщений: 136
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
у Вас что ADOQuery по лимиту выдаются?
заведите отдельный ADOQuery для вставки записей и не трогайте тот query, к которому привязан DBGid
у меня так и реализванно через ADOQuery4 , после нажатия кнопки пропадает отображение базы
MixanMM вне форума Ответить с цитированием
Старый 19.06.2015, 14:21   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

Цитата:
Сообщение от MixanMM Посмотреть сообщение
у меня так и реализванно через ADOQuery4 , после нажатия кнопки пропадает отображение базы
а вот это что за код?
Цитата:
Код:
t:='INSERT INTO table1 (nomen) VALUES('''+q+''')';
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text:=t;
или тут не ADOQuery2 портится?!

короче, выкладывай архив с проектом, посмотрим.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.06.2015, 14:47   #6
MixanMM
Форумчанин
 
Регистрация: 09.06.2009
Сообщений: 136
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
а вот это что за код?

или тут не ADOQuery2 портится?!

короче, выкладывай архив с проектом, посмотрим.
не, тут все нрм, файл приложил
Вложения
Тип файла: rar test.accdb.rar (57.7 Кб, 6 просмотров)
Тип файла: rar Projects.rar (129.3 Кб, 8 просмотров)

Последний раз редактировалось MixanMM; 19.06.2015 в 14:50. Причина: в
MixanMM вне форума Ответить с цитированием
Старый 19.06.2015, 15:00   #7
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,094
По умолчанию

может это поможет
http://programmersforum.ru/showpost....4&postcount=18
с поправкой: не добавить, а убрать все лишние.
Нужен только ОДИН ADOConnection
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 19.06.2015, 15:25   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

Цитата:
Нужен только ОДИН ADOConnection
категорически согласен!!!!!! +1
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.06.2015, 17:41   #9
MixanMM
Форумчанин
 
Регистрация: 09.06.2009
Сообщений: 136
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
может это поможет
http://programmersforum.ru/showpost....4&postcount=18
с поправкой: не добавить, а убрать все лишние.
Нужен только ОДИН ADOConnection
Спасибо всем, друзья, !
MixanMM вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодировка, отображает ??? gromdel PHP 3 30.07.2012 20:47
Delphi, Access, DBGrid не корректно отображает Valenok_Rus Помощь студентам 4 13.03.2012 10:04
DBGrid не отображает все колонки Elementig Компоненты Delphi 4 11.04.2011 15:44
DBGrid не отображает данные после добавления k0ks67 БД в Delphi 4 10.12.2009 21:17
DBGrid отображает не тот Float, что я ввел. Костя Мельников БД в Delphi 16 05.09.2009 23:23


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840