0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 18
1

Обновление данных в DBGrid

18.05.2013, 12:26. Показов 4028. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем результаты теста добавляются в бд Access. В саму базу данных добавляются как надо, а вот в программе DBGrid показывает их только после перезапуска программы. Использую ADOConnection-ADOTable-DataSource-DBGrid.
Если в кнопку прописать
Код
adotable1.active:=false;
adotable1.active:=true;
То кнопка обновляет, а если в событие формы OnActivate или FormCreate то не обновляется само.
Как можно сделать что бы без кнопки автоматически обновлялось еще?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2013, 12:26
Ответы с готовыми решениями:

Обновление DBGrid 'а
Подскажите пожалуйста как мне сделать обновление DBGrid 'а ? Чтобы при новой записи он...

DBGRID сложная проверка на обновление данных
Здравствуйте. Есть DBGRID DATASOURCE ADOQUERY всё связанно между собой. Данные берутся из db файла...

Обновление содержимого DBGrid
Подскажите, как обновить содержание DBGrid если значение таблицы изменялось в это время другим...

Получение данных из DBGrid
for i:=0 to DBGrid1.DataSource.DataSet.FieldCount-1 do...

4
6 / 6 / 4
Регистрация: 11.12.2011
Сообщений: 142
18.05.2013, 14:19 2
Вы как добавляете данные в базу. Через команду Post или через SQL? Если через Post то ADOTable должен показывать добавленные данные. Покажите код добавления данных.
0
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 18
18.05.2013, 14:22  [ТС] 3
Код
ADOTable1.Active:=false;
ADOTable1.TableName:='result';
ADOTable1.Active:=true;
  ADOTable1.Insert;
ADOTable1.FieldByName('ФИО').AsString:=NameStudent;
ADOTable1.FieldByName('Группа').AsString:=Group;
ADOTable1.FieldByName('Результат').AsString:=V;
ADOTable1.Post;
0
6 / 6 / 4
Регистрация: 11.12.2011
Сообщений: 142
18.05.2013, 14:41 4
По коду должны отображаться изменения в базе. Возможно у вас DBGrid привязан к другому ADOTable который отображает эти данные. Так это?

Добавлено через 1 минуту
Попробуйте вот так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
With ADOTAble1 do
  begin
    Close;
    TableName:='result';    
    Open;
    Insert;
    FieldByName('ФИО').AsString:=NameStudent;
    FieldByName('Группа').AsString:=Group;
    FieldByName('Результат').AsString:=V;
    post;
  end;
1
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 18
19.05.2013, 09:26  [ТС] 5
Все равно так же только после перезапуска программы или кнопки обновить появляются.

Добавлено через 18 часов 38 минут
Если в FormShow прописать
Код
adotable1.active:=false;
adotable1.active:=true;
то он тогда обновляется как надо, только ячейки растянуты.
А если добавляю
Код
Ini:=TiniFile.Create(extractfilepath(paramstr(0))+'MyIni.ini');
DBGrid1.Columns[0].width:=ini.ReadInteger('Size', 'width0',200 );
DBGrid1.Columns[1].width:=ini.ReadInteger('Size', 'width1',70 );
DBGrid1.Columns[2].width:=ini.ReadInteger('Size', 'width1',35 );
DBGrid1.Columns[3].width:=ini.ReadInteger('Size', 'width1',331 );
или любой другой код на изменение размера столбца, то она сразу перестает обновляться почему то.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.05.2013, 09:26
Помогаю со студенческими работами здесь

Перенос данных из DBGrid в Word
Добрый день! Подскажите, есть ли какой способ перенести таблицу целиком в ворд? Если есть...

Перенос данных из DBGrid-а в StringGrid
Есть dbgrid на одной форме и есть stringgrid на другой. я хочу сделать перенос данных таким вот...

Вывод данных из dbgrid в excel
Делаю выгрузку из dbgrid в excel. у меня что то не то т.к. не заходит в условие "if...

Вывод данных из DBGrid в Excel
Всем привет, нужна помощь в Выводе данных из DBGrid'а в Excel. В интернете всего не сколько...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru