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

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

01.12.2017, 17:32. Показов 1018. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мир всем и привет

Как копировать запись из одной таблицы в другую ? Вот у меня получился перемещать все записи но с строкой не очень !
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2017, 17:32
Ответы с готовыми решениями:

Копирование строки из одной таблицы в другую
procedure TForm1.SpeedButton6Click(Sender: TObject); var Num: SmallInt; begin ...

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

Копирование данных из одной таблицы в другую в пределах одной базы. Не работает счетчик
Делаю копирование данных из одной таблицы в другую в пределах одной базы. procedure...

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

9
2 / 2 / 0
Регистрация: 07.08.2015
Сообщений: 428
03.12.2017, 06:55  [ТС] 2
есть кто нибудь ?
اینجا کسی هست؟
0
5785 / 4527 / 1431
Регистрация: 14.04.2014
Сообщений: 20,157
Записей в блоге: 20
03.12.2017, 08:57 3
а как вы перемещаете все записи?
0
2 / 2 / 0
Регистрация: 07.08.2015
Сообщений: 428
03.12.2017, 09:31  [ТС] 4
вот так
Delphi
1
2
3
4
5
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('INSERT INTO Таб2 (ФИО, номер) ');
ADOQuery1.SQL.Add('SELECT ФИО, номер ');
ADOQuery1.SQL.Add('FROM таб1');
ADOQuery1.ExecSQL;
Добавлено через 8 минут
мне надо что бы из первой таблицы взял первую строку, но так как там есть поля дата и время то это лишнее, то есть исключит некоторые поля из строки. В общем надо копировать выделенную строку с полями "Нн" и "номер" а поля "дата и время" исключит
0
5785 / 4527 / 1431
Регистрация: 14.04.2014
Сообщений: 20,157
Записей в блоге: 20
03.12.2017, 10:00 5
давайте переведем на русский
"вставить в таб2 все что найдем в таб1"

у выражения SELECT есть почти обязательный элемент WHERE
который из ВСЕХ записей таб1 выбирает какие-то конкретные одну или несколько
у вас никакого WHERE нет, поэтому предполагается что выбраны ВСЕ записи

вам нужно прочитать книги по работе с БД и SQL
http://www.sql.ru/docs/sql/u_sql/
0
2 / 2 / 0
Регистрация: 07.08.2015
Сообщений: 428
03.12.2017, 10:14  [ТС] 6
в обработчике ЕДИТ я написал (точнее копировал) вот что:

Delphi
1
2
3
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('SELECT * FROM Таб1 WHERE номер LIKE '''+Edit1.text+'%''');
ADOQuery2.Active:=True;
И когда нужный запись появляется то нажимаю на БАТН там код:
Delphi
1
2
3
4
5
6
ADOQuery1.Append;
For I := 0 To ADOQuery2.Fields.Count-1 Do
  if ADOQuery1.Fields[i].FieldName <> '' Then
    ADOQuery1.Fields[i].Value := ADOQuery2.Fields[i].Value;
ADOQuery1.Post;
adoquery1.Refresh;
первая функция значит для того что бы найти строку нужную.
а второй код вставляет найденную строку
0
5785 / 4527 / 1431
Регистрация: 14.04.2014
Сообщений: 20,157
Записей в блоге: 20
03.12.2017, 10:31 7
это тоже вариант. и даже рабочий
он плохой по другим причинам
тут вы ведете себя как будто не знаете, что у вас за поля, сколько их и как называются
просто давайте все поля одного датасета копировать в поля другого

я уже писал, что вообще не должно быть так,чтобы были две одинаковых таблицы
нужно все хранить в одной, выбирая оттуда нужные данные по условию
вы не слушаете, и не хотите разбираться что и как работает

нет смысла помогать вам делать непраильно
0
2 / 2 / 0
Регистрация: 07.08.2015
Сообщений: 428
03.12.2017, 10:49  [ТС] 8
вы правы на 100% но я не могу реализовать такое

Добавлено через 6 минут
если работать с одной таблицы то все компоненты почти будут связны с datasource если вставит запрос в ЕДИТ для того что бы найти запись то в ДБГРИД-е тоже изменится
А надо что бы ДБГРИД был пустим что бы начат с нового листа Но сохранял в том же Таблицы Одна таблица це хорошо но ...
0
5785 / 4527 / 1431
Регистрация: 14.04.2014
Сообщений: 20,157
Записей в блоге: 20
04.12.2017, 08:55 9
грид показывает записи, которые ВЫБРАНЫ запросом. Опять же WHERE!
условие выбора должно быть таким, чтобы в датасете, к которому подключен DBGRID, не было выбранных записей

когда вы добавляете запись, она должна быть такой, чтобы условие ВЫПОЛНЯЛОСЬ
тогда после переоткрытия датасета она появится в DBGRID
0
2 / 2 / 0
Регистрация: 07.08.2015
Сообщений: 428
04.12.2017, 16:50  [ТС] 10
Спасибо за идею (WHERE)

в общем вот что получился у меня
Delphi
1
2
ADOQuery1.SQL.Add('WHERE номер='+Edit1.Text+');
ADOQuery1.SQL.Add('WHERE номер=('Edit1.Text');
короче много чего придумал и ни один из них не радовал меня ) пока не нашел на форуме вот что:
Delphi
1
2
3
4
5
procedure TForm1.Button3Click(Sender: TObject);
begin
ADOQuery1.SQL.Text:='SELECT * FROM calc WHERE = ' +Edit1.Text;
ADOQuery1.Open;
end;
Delphi
1
2
3
ADOQuery1.SQL.Text:='SELECT * FROM calc WHERE = :N1';
ADOQuery1.Parameters.ParamByName('N1').Value:=Edit1.Text;
ADOQuery1.Open;
Delphi
1
2
3
4
5
procedure TForm1.Button3Click(Sender: TObject);
begin
ADOQuery1.SQL.Text:='SELECT * FROM calc WHERE = ' + strToInt(Edit1.Text);
ADOQuery1.Open;
end;
Delphi
1
ADOQuery1.SQL.Text:='SELECT * FROM calc WHERE ID IN (' + Edit1.Text + ')';
эти примеры с 2011 года. Благодарю и девушку под именем Ksenya100 за предоставленную инфо

ну это тема закрыта- до новых тем !)
0
04.12.2017, 16:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.12.2017, 16:50
Помогаю со студенческими работами здесь

Копирование данных из одной таблицы в другую
procedure TForm10.sTreeViewEx1Change(Sender: TObject; Node: TTreeNode); begin if...

Копирование данных из одной таблицы в другую
хочу копировать из одной таблицы на другой. Но дает ошибку.. procedure TForm1.Button1Click(Sender:...

Копирование всех данных из одной таблицы в другую
необходимо скопировать все данные из одной таблицы в другую. Таблица с данными - это расчетная...

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


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

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