Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
1 / 1 / 0
Регистрация: 10.12.2015
Сообщений: 16

Перенос данных из одной таблице в другую, ошибка адресации

07.03.2018, 08:41. Показов 1692. Ответов 2

Студворк — интернет-сервис помощи студентам
В двух разных формах одной программы находятся таблицы. Необходимо при нажатии кнопки данные из одной таблицы скопировать в другую.
C++
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TForm3::Button1Click(TObject *Sender)
{
if(Form4->DBGrid2->Columns->Items[0]->Field->AsString==Form3->DBGrid1->Columns->Items[0]->Field->AsString)
        ShowMessage("Учитель уже в архиве");
 else
 {
 Form4->Table2->Insert();
 Form4->DBGrid2->Columns->Items[0]->Field->AsString=Form3->DBGrid1->Columns->Items[0]->Field->AsString;
 Form4->DBGrid2->Columns->Items[1]->Field->AsString=Form3->DBGrid1->Columns->Items[1]->Field->AsString;
}
}
При запуске выдает ошибку, скрин приложу.
В двух других формах делал все тоже самое, там прекрасно работает. Ошибка, как я понял в адресации, но что именно исправить не могу понять.
Миниатюры
Перенос данных из одной таблице в другую, ошибка адресации  
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.03.2018, 08:41
Ответы с готовыми решениями:

Автоматический перенос с одной таблице в word в другую
Неделю ломаю голову как сделать. Есть онлайн программа, которая создает ценники по выбранному наименованию товара, сохраняет в pdf...

Перенос данных из одной БД в другую
Добрый день имеем две таблицы Код|Имя|Фамилия|Город|Пол 1|Настя|Пупкина|Хабаровск|Женский 2|Антон|Филиппов|Москва|Паркет ...

Перенос данных из одной БД в другую
Здравствуйте. Задача, есть БД в mysql из нее выгрузил sql скрипт,все хорошо. Далее есть БД в interbase .FDB, так же успешно скрипт из нее...

2
 Аватар для TrollHammer
1216 / 709 / 336
Регистрация: 22.02.2018
Сообщений: 2,095
Записей в блоге: 2
07.03.2018, 09:07
Копируются не данные, отображаемые в таблице, а записи в БД. Какая БД и какими компонентами подключаетесь?

Добавлено через 9 минут
Пардон, увидел Table2, значит что-то типа Paradox. В своем коде Вы пытаетесь копировать данные, которые просто отображаются. На самом деле они хранятся в таблице БД и копировать их надо оттуда. Например
C++
1
2
3
4
5
6
7
8
9
10
if(Form4->Table1->Fields->Fields[0]->AsString==Form3->Table2->Fields->Fields[0]->AsString)
        ShowMessage("Учитель уже в архиве");
 else
 {
 Form4->Table1->Insert();
 Form4->Table1->Fields->Fields[0]->AsString=Form3->Table2->Fields->Fields[0]->AsString;
 Form4->Table1->Fields->Fields[1]->AsString=Form3->Table2->Fields->Fields[1]->AsString;
 Form4->Table1->Post();  //а на всякий случай :) 
 
}
И в качестве совета - давайте компонентам осмысленные имена, например fMain - главная форма, tSource - таблица-источник и т. д. Поверьте, потом легче будет разобраться с кодом

Добавлено через 14 минут
А правильно, наверное, так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    AnsiString qr = Form3->Table2->Fields->Fields[0]->AsString;
 
  //делаем так - нужен еще один компонент Query
   Query1->Active=false;
   Query1->SQL->Text = "Select * From db Where fieldname Like '%"+qr+"%'"; //db - имя базы данных, fieldname - имя поля, где идет поиск
   Query1->Open();
 
     
  if(Query1->RecordCount)  //если такая запись уже есть, то 
   ShowMessage("Учитель уже в архиве");
 
 else
 {
AnsiString qr1 = Form3->Table2->Fields->Fields[0]->AsString;
AnsiString qr2 = Form3->Table2->Fields->Fields[2]->AsString;
 
   Query1->Active=false;
   Query1->SQL->Text = "Insert Into db (fieldname1, fieldname2) Values ("+qr1+", "+qr2+")"; //db - имя базы данных, fieldname - имя поля, где идет поиск
   Query1->Open();
}
1
Заблокирован
07.03.2018, 21:35
а в целом можно скопировать просто в stringgrid, не много по другому конечно, но суть таже. а так вариант TrollHammer верный.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.03.2018, 21:35
Помогаю со студенческими работами здесь

Перенос данных из одной БД в другую
Есть 2 формы на обоих формах есть DBGrid. Нужно что бы при нажатии в контекстном меню на "Добавить" данные из одной Базы данных...

Перенос данных из одной таблицы в другую
День добрый всем. У меня возник вопрос, возможно ли при переносе данных из одной таблицы в другую, чтоб каждый раз, при нажатии...

Перенос данных из одной формы в другую
Я создаю игру(задание от препода) мне нужно создать магазин, в магазине я расплачиваюсь валютой которую, получаю на другой форме.Как мне...

Перенос данных из одной колонки в другую
Кто может помочь?:( есть две таблицы в базе данных access,нужно из столбца одной таблицы перенести данные кодом во вторую таблицу

Перенос данных из одной таблицы в другую
Доброе утро\ День\Вечер Возникла проблема с переносом данных из двух таблиц в одну. Существует две таблицы Users и Skills. Структура...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru