Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 11.04.2018
Сообщений: 33
1

Как правильно сделать перенос записи из одно таблицы в другую

30.05.2018, 20:27. Показов 987. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Такой вопрос.

Имеется БД на Firebird.

В ней 2 одинаковые таблицы: Document1 и Document2
в каждой из них допустим поля nomrec и tovar
Как организовать перемещение записи из таблицы Document1 в Document2

На текущий момент делаю это так, но это не совсем то!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
IBQuery1->Close();
IBQuery1->SQL->Clear();
IBQuery1->SQL->Add("insert into document2 select * from document1 where nomrec=234";
IBQuery1->Open();
IBQuery1->Close();
DM->IBTConnect->Commit();
 
IBQuery1->Close();
IBQuery1->SQL->Clear();
IBQuery1->SQL->Add("delete from document1 where nomrec=234";
IBQuery1->Open();
IBQuery1->Close();
DM->IBTConnect->Commit();
При какой-либо ошибке в первой части, вторая выполниться и наоборот.
Нужно так, чтобы при успешном выполнении действия подтверждались, а при ошибке в любой из частей был откат к предыдущему состоянию
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.05.2018, 20:27
Ответы с готовыми решениями:

Перенос записи из одной таблицы в другую
Хочу перенести запись из таблицы Driver в таблицу Del_Driver (у которой есть 2 дополнительных...

Перенос записи из одной таблицы в другую
Здравствуйте. Нужно перенести запись из одной таблицы в другую. Кол-во столбцов в обоих таблицах...

Подскажите как сделать в форме с в access 2010 перенос данных из одной таблицы в другую!
Хотелось-бы в форме "поиск сотрудника" когда находишь определённого человека ставишь рядом флажок в...

Перенос данных из одной таблицы в другую. Как реализовать?
Ну, во первых, привет. Народ, в общем вопрос в чем... Делаю базу данных АТС. Есть основная...

3
479 / 392 / 112
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
31.05.2018, 03:27 2
Цитата Сообщение от niksv1 Посмотреть сообщение
при успешном выполнении действия подтверждались, а при ошибке в любой из частей был откат к предыдущему состоянию
Для запросов на изменение данных или не возвращающих данные использовать IBSQL.
Использовать 1 транзакцию на изменение данных.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
IBSQL->Transaction->StartTransaction();
try
{
IBSQL->SQL->Clear();
IBSQL->SQL->Add("insert into document2 select * from document1 where nomrec=234");
IBSQL->ExecQuery();
 
IBSQL->SQL->Clear();
IBSQL->SQL->Add("delete from document1 where nomrec=234");
IBSQL->ExecQuery();
 
IBSQL->Transaction->Commit();
}
catch(Exception &E)
{
IBSQL->Transaction->Rollback();
ShowMessage(E.Message);
}
1
2 / 2 / 0
Регистрация: 11.04.2018
Сообщений: 33
31.05.2018, 08:15  [ТС] 3
Так выбивает ошибку Transaction is Active


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
try
{   
IBQuery1->Close();
IBQuery1->SQL->Clear();
IBQuery1->SQL->Add("insert into document2 select * from document1 where nomrec=234";
IBQuery1->Open();
IBQuery1->Close();
 
IBQuery2->Close();
IBQuery2->SQL->Clear();
IBQuery2->SQL->Add("delete from document1 where nomrec=234";
IBQuery2->Open();
IBQuery2->Close();
Form3->TIBDConnect->Commit();
}
catch(Exception &E)
{
Form3->TIBDConnect->Rollback();
ShowMessage(E.Message);
}
А вот так отрабатывает нормально
0
479 / 392 / 112
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
31.05.2018, 09:24 4
Цитата Сообщение от niksv1 Посмотреть сообщение
Так выбивает ошибку Transaction is Active
Проверять нужно транзакцию перед тем как стартовать.

Не по теме:

Всё готовое Вам что-ли подавай


Она у тебя открыта через IBQuery.
На изменение данных отдельный компонент со своей транзакцией (см. выше рекомендации).
0
31.05.2018, 09:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2018, 09:24
Помогаю со студенческими работами здесь

Как в меню сделать перенос текста на другую строку?
Добрый день всем! Подскажите пожалуйста, как в меню сделать перенос текста на другую строку?...

Как скопировать данные из одной записи таблицы в другую?
Уже поднимал этот вопрос (http://relib.com/forums/topic.asp?id=772396), но решения так и не...

Как перенести записи по логическому условию из одной таблицы в другую?
Как перенести записи по логическому условию из одной таблицы в другую? В форме...

Insert select, как скопировать записи таблицы в другую запись
Есть 2 документа, нужно записи с одного документа скопировать в другой документ INSERT INTO DMS...

Как из ячейки автоматически сделать перенос выборочной информации в другую ячейку?
Помогите логисту! При выгрузке файла excel из 1с в одной ячейке размещаются и наименование и...

SQL как правильно перенести часть данных из одной таблицы в другую?
Есть таблица id | x | y 1 | 10| 20 2 | 6 | 18 3 | 17| 4 Я создаю вторую таблицу, куда мне...


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

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