Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2009, 09:05   #1
IvaNNN
 
Регистрация: 24.11.2009
Сообщений: 5
По умолчанию Добавление записей

Здраствуйте. Есть проблемма с добавленем нескольких ключевых полей. Необходим сделать так чтобы при нажатии на кнопку заполнялось две таблицы БД, в обоих содержаться ключевые поля. Для вывода таблиц использую DBGrid, ADOQuerty, DataSourse, ADOConnection.
Код:
Код:
ADOQuery1.Active:=false;
ADOQuery1.SQL.Text:='Select * from Diskont inner join Klient on Diskont.id_Klienta=Klient.id_Klienta';
ADOQuery1.Active:=true;
Для добавления записи использую DBLookupComboBox, Edit-ы
Код:
Код:
procedure TDiskont.PostClick(Sender: TObject);
begin
BD.ADOQuery1.AppendRecord([nil, DBLookupComboBox1.Text,
StrToInt(Edit1.Text), StrToInt(Edit2.Text)]);
BD.ADOQuery1.AppendRecord([nil,Edit3.Text, Edit4.Text, Edit5.Text,
Edit6.Text, Edit7.Text, StrToInt(Edit8.Text), StrToInt(Edit9.Text)]);
 BD.ADOQuery1.Refresh;
end;
From Stilet: Код у нас оформляется по кнопке #

Последний раз редактировалось IvaNNN; 09.12.2009 в 07:53.
IvaNNN вне форума Ответить с цитированием
Старый 08.12.2009, 14:46   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Добавляйте через запрос. Так проще. P.S. Оформите код как положено!
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 09.12.2009, 07:55   #3
IvaNNN
 
Регистрация: 24.11.2009
Сообщений: 5
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Добавляйте через запрос. Так проще. P.S. Оформите код как положено!
а не поскажете примерный запрос для добавление, я так думаю это через insert into?
IvaNNN вне форума Ответить с цитированием
Старый 09.12.2009, 07:58   #4
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

insert into t_table(списко полей) values (список параметров)
перед параметрами :
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 11.12.2009, 06:12   #5
IvaNNN
 
Регистрация: 24.11.2009
Сообщений: 5
По умолчанию

Код:
procedure TDiskont.PostClick(Sender: TObject);
begin
BD.ADOQuery7.Close;
BD.ADOQuery7.SQL.Text:='insert into Diskont, Klient (id_Prodavca,Skidka,Summa_pokup,Familia,Imia,Otchestvo,Mesto_rog,Mesto_reg,Pasport_ser,Pasport_nom) values (:s1, :s2, :s3, :s4, :s5, :s6, :s7, :s8, :s9, :s10)';
BD.ADOQuery7.Parameters.ParamByName('s1').Value:=DBLookupComboBox1.Text;
BD.ADOQuery7.Parameters.ParamByName('s2').Value:=StrToInt(Edit1.Text);
BD.ADOQuery7.Parameters.ParamByName('s3').Value:=StrToInt(Edit2.Text);
BD.ADOQuery7.Parameters.ParamByName('s4').Value:=Edit3.Text;
BD.ADOQuery7.Parameters.ParamByName('s5').Value:=Edit4.Text;
BD.ADOQuery7.Parameters.ParamByName('s6').Value:=Edit5.Text;
BD.ADOQuery7.Parameters.ParamByName('s7').Value:=Edit6.Text;
BD.ADOQuery7.Parameters.ParamByName('s8').Value:=Edit7.Text;
BD.ADOQuery7.Parameters.ParamByName('s9').Value:=StrToInt(Edit8.Text);
BD.ADOQuery7.Parameters.ParamByName('s10').Value:=StrToInt(Edit9.Text);
BD.ADOQuery7.ExecSQL;
end;
попробывал через запрос пишет не могу найти параметр s1, кроме перечисленных полей в таблице Diskont есть поля id_Disk-счетчик id_Klienta-числовое и в таблице Klient есть поле id_Klienta-счетчик.

Последний раз редактировалось IvaNNN; 11.12.2009 в 06:39.
IvaNNN вне форума Ответить с цитированием
Старый 11.12.2009, 08:02   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Если я не ошибаюсь прежде чем использовать параметры их нужно создать.
Код:
with BD.ADOQuery7.Parameters.AddParameter do begin
 Name:='s1';
 Value:=DBLookupComboBox1.Text;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.12.2009, 15:02   #7
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

Подскажу у вас ошибка с DBLookupComboBox1, почитайте внимательно про этот компонент. Если так ничего и не найдете пишите, объясню
Единственное, что ограничивает полет мысли программиста-компилятор

Последний раз редактировалось mihali4; 11.12.2009 в 15:07.
Sparky вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одновременное добавление записей в таблицу PitmanMSK Microsoft Office Access 3 02.09.2009 21:56
Добавление записей в массив структур korel Общие вопросы C/C++ 2 07.05.2009 23:59
Добавление записей в таблицы Fishb1 Microsoft Office Access 2 26.02.2009 21:45
Добавление записей Liones БД в Delphi 3 25.12.2008 10:08
добавление записей в таблицу strannik БД в Delphi 5 10.05.2007 08:12