0 / 0 / 1
Регистрация: 28.12.2015
Сообщений: 154
Записей в блоге: 1
1

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

17.04.2017, 01:39. Показов 3380. Ответов 17
Метки нет (Все метки)

Не могу перенести строку из одной таблицы в другую.
Delphi
1
2
3
4
5
6
begin
Table1.Open;
Table.Open;
Table1.FieldByName('name').AsString :=Table.FieldByName('name').AsString;
Table.Close;
end;
Из левой таблицы должно переноситься в правую, этого не происходит.. как это можно реализовать? Или проще сделать все заново, брать как БД - MS Access?
И такие вопросы - эти DB базы данных, как их скомповать и заставить читать непременно с папки с проектом?
Можно ли как-то с помощью кода sql, типа
SQL
1
2
3
SELECT *
FROM *
INSERT INTO *
перенести их, когда я использую Data Access, Data Controls, BDE( кажется, зря я это использую вообще, ведь есть какие-то ADO и прочие способы соединить БД.
ЗЫ - в делфи вообще ничего не понимаю, как-то все странно сделано тут(
Вложения
Тип файла: rar prg.rar (322.2 Кб, 19 просмотров)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.04.2017, 01:39
Ответы с готовыми решениями:

Из одной таблицы БД(foxpro) перенести в другую таблицу БД(mssql).
Нужно несколько столбцов из одной таблицы базы данных(foxpro) перенести в другую таблицу бд...

Как перенести данные из одной таблицы в другую ?
Код таблицы продавец Create table Prodavec ( int, varchar(35) , Primary key (ID_Prodavec),...

Как перенести данные из одной таблицы в другую
Всем привет. Может кто помочь с таким вопросом? Задана база база данных "Газеты", ...

Как удалить из одной таблицы и перенести в другую
Есть база данных в делфи,таблицы ADOTABLE. Мне нужно при увольнении сотрудника удалить его из...

17
0 / 0 / 1
Регистрация: 28.12.2015
Сообщений: 154
Записей в блоге: 1
17.04.2017, 17:01  [ТС] 2
Сделал новый проект с ADO, БД - MS Access.
В главном окне - имеющиеся книги.
Кнопка - списать книги - открывает форму, где должна быть таблица1, с книгами, там кнопка - Списать, которая должна отправлять строчку из БД на другую форму - Списанные книги.
Подскажите, как можно перенести строчку из одной БД в другую?
0
668 / 558 / 242
Регистрация: 26.11.2012
Сообщений: 2,190
18.04.2017, 04:13 3
Цитата Сообщение от Lnqwex Посмотреть сообщение
Подскажите, как можно перенести строчку из одной БД в другую?
Создаешь соединения к каждой базе. (TADOConnection).
Используя одну компоненту TADOQuery и запросы SELECT для получения данных из первой БД.
Используя вторую компоненту TADOQuery и запрос INSERT INTO для записи данных во вторую БД.
1
0 / 0 / 1
Регистрация: 28.12.2015
Сообщений: 154
Записей в блоге: 1
18.04.2017, 15:00  [ТС] 4
Delphi
1
2
3
4
5
procedure TForm2.Button1Click(Sender: TObject);
begin
qry1.SQL.Add('SELECT * FROM tbl1');
qry1.SQL.Add('INSERT INTO  tbl2');
end;
Присобачил к кнопке, не получается

Добавлено через 54 секунды
ZfoxAK, подскажите, пожалуйста, каким именно образом соединить. Вроде сделал, но ничего не вышло, хотя и ошибок нет.

Добавлено через 10 минут
В таблице 1 - пять столбцов, в таблице 2 - аналогичные 5 столбцов, с одинаковыми названиями. Нужно перенести построчно (1 строка =1 нажатие кнопки) с 1 таблицы в таблицу 2, другой БД. Хотя можно ли создать в 1 БД 2 таблицы?(скорее всего так и нужно было делать изначально)
0
1039 / 855 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
18.04.2017, 15:08 5
во-первых, базу и новый проект в студию

Добавлено через 2 минуты
во-вторых, если базы две, то одним запросом, к тому же синтаксически неверным, не управишься, вам в #3 написали, что делать
0
0 / 0 / 1
Регистрация: 28.12.2015
Сообщений: 154
Записей в блоге: 1
18.04.2017, 15:11  [ТС] 6
Сделал одну БД, создал там 2 таблицы, тот же код. не получается.
0
0 / 0 / 1
Регистрация: 28.12.2015
Сообщений: 154
Записей в блоге: 1
18.04.2017, 15:12  [ТС] 7
Вот весь проект.
Вложения
Тип файла: rar asdsa.rar (340.5 Кб, 30 просмотров)
0
1039 / 855 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
18.04.2017, 15:14 8
Цитата Сообщение от Lnqwex Посмотреть сообщение
procedure TForm2.Button1Click(Sender: TObject);
begin
qry1.SQL.Add('SELECT * FROM tbl1');
qry1.SQL.Add('INSERT INTO tbl2');
end;
этот код ничего не делает, только формирует синтаксически неверный запрос
0
0 / 0 / 1
Регистрация: 28.12.2015
Сообщений: 154
Записей в блоге: 1
18.04.2017, 15:17  [ТС] 9
YuryK, дайте, пожалуйста, примерный шаблон для отправки из табл 1 в табл2, не могу допереть, как это реализовать.
0
1039 / 855 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
18.04.2017, 15:18 10
вы намерены сделать не списание, а "чистку библиотеки". Списываю экземпляры книг, а вы вымарываете их из каталога. Я против
0
60 / 60 / 26
Регистрация: 30.05.2016
Сообщений: 292
18.04.2017, 15:44 11
http://zool.in.ua/home/insert-from-select/
0
W
115 / 115 / 33
Регистрация: 16.04.2013
Сообщений: 733
18.04.2017, 15:48 12
ТЮ! Блин. С dbf-ками тоже нормально работало, а он уже на аксес перешел )))
Вложения
Тип файла: rar prg.rar (8.3 Кб, 11 просмотров)
1
0 / 0 / 1
Регистрация: 28.12.2015
Сообщений: 154
Записей в блоге: 1
18.04.2017, 22:23  [ТС] 13
kavasaka, Добавил одну БД аксеса с двумя таблицами. Переносит, но не добавляет в таблицу ничего, просто пустые строчки. А дбф - очень сложно понять, что и с чем есть.

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

Добавлено через 45 минут
Delphi
1
2
3
4
5
procedure TForm2.Button1Click(Sender: TObject);
begin
qry1.SQL.Add('SELECT * FROM tbl1'); // выбрал все из таблицы 1?
qry1.SQL.Add('INSERT INTO  tbl2'); //вставил это все в таблицу 2?
end;
как по-другому, не пойму
0
1039 / 855 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
18.04.2017, 23:00 14
Цитата Сообщение от Lnqwex Посмотреть сообщение
тема с библиотекой - не принципиально важна. важнее сделать перенос строки из одной таблицы в другую. не очень-то пока и выходит.
в переводе на объектную модель, у вас два разных класса объектом, которые не только имеют одинаковые атрибуты, но ещё и мигрируют из одного класса в другой. Поэтому это коряво независимо от того, библиотека это или нет.

Если одним запросом, то синтаксис вставки результата запрос в точности наоборот используемому вами:
SQL
1
INSERT INTO  tbl2 SELECT * FROM tbl1
И этот запрос ещё надо и выполнить, а не просто записать в qry1.SQL
1
0 / 0 / 1
Регистрация: 28.12.2015
Сообщений: 154
Записей в блоге: 1
18.04.2017, 23:24  [ТС] 15
Собственно, а как в делфи заставить выполняться запрос? простите, в гугле только сложные примеры, где 99% я ничего абсолютно не понимаю...
даже ту программу, что выше выложил Kavasaka - там добавлено непонятно что, гугл не дает однозначного ответа(

Добавлено через 5 минут
Delphi
1
qry1.open
не может найти входную таблицу или запрос

Добавлено через 7 минут
Все, решил эти проблемы, теперь - новая:
текущий поставщик не поддерживает возврат нескольких наборов записей в рез. выполнения одной операции
0
1039 / 855 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
18.04.2017, 23:35 16
потому что не open, а ExecSQL. И qry1.SQL.Clear перед формированием запроса, а то там может что-то быть
0
W
115 / 115 / 33
Регистрация: 16.04.2013
Сообщений: 733
19.04.2017, 08:13 17
Цитата Сообщение от Lnqwex Посмотреть сообщение
там добавлено непонятно что,
то что в #3 предлагали. Поставь в ADOConnection1.ConnectionString:

Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\.....СВОЙ ПУТЬ К ПАПКЕ с dbfками....\prg;Mode=ReadWrite;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=17;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;

ADOConnection1.Connected - true
все ADOTable.Active - true (т.к.из-за несоответствия пути слетают)
и оно заработает
А вообще тема была уже Подключение к dbf без специальных движков
поискал бы и сам сделал.

Добавлено через 6 минут
блин смайлов понатыкало..
Delphi
1
Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\.....СВОЙ ПУТЬ К ПАПКЕ с dbfками....\prg;Mode=ReadWrite;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=17;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;
0
Модератор
7818 / 5140 / 2146
Регистрация: 21.01.2014
Сообщений: 22,148
Записей в блоге: 3
19.04.2017, 12:25 18
Цитата Сообщение от kavasaka Посмотреть сообщение
блин смайлов понатыкало..
kavasaka, чтобы такой беды не было - используйте тэг NOPARSE
Миниатюры
Как из одной таблицы перенести строку в другую таблицу  
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2017, 12:25
Помогаю со студенческими работами здесь

Как перенести значения из одной умной таблицы в другую
Здравствуйте. Помогите пожалуйста перенести данные из "Таблица1" в "Таблица2" с учетом того, что...

Как перенести данные из одной таблицы в другую по условию
Здравствуйте, подскажите пожалуйста как можно перенести данные двух столбцов из одной таблицы в...

Как перенести выделенную строку в DBGrid в другую таблицу?
Друзья! Помогите бедному студенту, горю, совсем голову сломал. Вот что требуется: есть таблица...

Как перенести данные из одной таблицы в другую нажатием кнопки.
Как перенести данные из одной таблицы в другую нажатием кнопки. Есть данные в одной таблице (20...


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

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

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