Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 20.01.2015
Сообщений: 22
1
MS Access

Запись данных из DBGrid в ADOTAble

21.05.2015, 11:10. Показов 1577. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Таблица в DBGrid сформирована с помощью запроса в ADOQuery.
Необходимо данные из DBGrid записать в базу данных с помощью ADOTable, но так чтобы записи не повторялись.
Вот программный код


Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var k:integer;
begin
DBGZhur.DataSource.DataSet.First;
for k:=0 to DBGZhur.DataSource.DataSet.FieldCount-1 do    begin
  if (DBGZhur.DataSource.DataSet.Fields.FieldByName('Класс').Asstring = DM.ATUsp.FieldByName('Класс').Asstring)
and (DBGZhur.DataSource.DataSet.Fields.FieldByName('Предмет').Asstring = DM.ATUsp.FieldByName('Предмет').Asstring)
and (DBGZhur.DataSource.DataSet.Fields.FieldByName('Дата').Asstring = DM.ATUsp.FieldByName('Дата').Asstring)
and (DBGZhur.DataSource.DataSet.Fields.FieldByName('ФИО').Asstring = DM.ATUsp.FieldByName('Школьник').Asstring)
and (DBGZhur.DataSource.DataSet.Fields.FieldByName('Период').Asstring = DM.ATUsp.FieldByName('Период').Asstring)
 then
    DM.ATUsp.next
   else                  begin
   DM.ATUsp.Insert;
DM.ATUsp.FieldByName('Класс').Asstring:=DBGZhur.DataSource.DataSet.Fields.FieldByName('Класс').Asstring;
DM.ATUsp.FieldByName('Предмет').Asstring:=DBGZhur.DataSource.DataSet.Fields.FieldByName('Предмет').Asstring;
DM.ATUsp.FieldByName('Дата').Asstring:=DBGZhur.DataSource.DataSet.Fields.FieldByName('Дата').Asstring;
DM.ATUsp.FieldByName('Школьник').Asstring:=DBGZhur.DataSource.DataSet.Fields.FieldByName('ФИО').Asstring;
DM.ATUsp.FieldByName('Отметка').Asstring:=DBGZhur.DataSource.DataSet.Fields.FieldByName('Отметка').Asstring;
DM.ATUsp.FieldByName('Период').Asstring:=DBGZhur.DataSource.DataSet.Fields.FieldByName('Период').Asstring;
DM.ATUsp.Post;        // DM.ATUsp.Next;
    end;   DBGZhur.DataSource.DataSet.Next; // DM.ATUsp.Next; 
 end;
DM.ATUsp.Close;
DM.ATUsp.Open;

ATUsp - ADOTAble DBZhur- DBGrid

Данный программный код работает неверно. Он проверяет данные в AT только в том порядке, в котором они записаны в бд (если в DBGrid появится новая запись где нибудь в середине списка, то в бд данные перезапишутся заново начиная с новой записи).

Как мне лучше сформировать цикл и условие чтобы все работало верно?!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2015, 11:10
Ответы с готовыми решениями:

Отображение данных в DBGrid с ADOTable
Доброго времени суток! Есть таблица xxx в базе данных yyy.accdb MS Access 2007. Нужно подключиться...

Редактирование данных (Access + AdoTable + DbGrid)
Добрый день! Прошу прощения, тема, наверное, избита.. Но сколько я гуглил - ничего не нашел для...

Запись данных из DBGrid в БД
Здравствуйте, у меня есть 2 талбицы: Заказ и Журнал. База Access. На форме DBGrid, подключенный к...

ShowMessage DBGRID ADOTABLE
код на едите procedure TForm5.Edit1Change(Sender: TObject); begin if Edit1.Text<>'' then...

3
0 / 0 / 0
Регистрация: 20.01.2015
Сообщений: 22
23.05.2015, 10:03  [ТС] 2
Блин что так сложно помочь?
0
Супер-модератор
8783 / 2536 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
23.05.2015, 10:09 3
borkovskiymen, у вас цикл пробегается по полям, а должен пробегаться по записям... вы неправильно организовали обход таблицы, но и этот цикл я бы не выкидывал, а в нем проверку организовал данных по полям...
0
0 / 0 / 0
Регистрация: 20.01.2015
Сообщений: 22
25.05.2015, 19:26  [ТС] 4
вы не могли бы поподробнее объяснить или привести пример?

Добавлено через 1 час 1 минуту
вы не подскажете как лучше осуществить запись данных из дбгрида в бд? Буду очень благодарен)))
0
25.05.2015, 19:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2015, 19:26
Помогаю со студенческими работами здесь

Неправильно сортирует в DBGrid AdoTable
в таблице всё правильно заполнено, но почему-то сначала идёт одна фамилия, потом другая, а потом...

Различие между ADOTable и DBGrid
Ребят в чем разница между ADOTable и DBGrid? какие плюсы минусы коротко?

Отображение сумм в DBGrid из ADOTable
Необходимо отобразить в компоненте DBGrid суммы из таблицы ADOTable. Проблема в том, что к примеру...

Поиск в DBGrid через ADOTable
Такая проблема, нужно организовать поиск, по записям в DBGrid через ADOTable, при вводе в Edit в...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru