Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.06.2011, 19:37
Re3oFFer Re3oFFer вне форума
Прохожий
 
Регистрация: 29.06.2011
Сообщения: 17
Репутация: 10
По умолчанию Добавление записи в бд через query

Добрый вечер друзья помогите не могу закончить свой код, что нужно писать дальше??
Код:
procedure TForm2.Button1Click(Sender: TObject);
begin
with Form1.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add (' Insert into spravo4nik (Name, Doljnost,gazov,gorodskoy,sotov,' );
SQL.Add (' ip,fax,portativnaya,mobile,stacionar,abonent,kabinet)' );
SQL.Add (' values (:Name,: Doljnost,:gazov,:gorodskoy,:sotov,:ip,:fax,)' );
SQL.Add (' values (: portativnaya,:mobile,:stacionar,:abonent,:kabinet)' );
Parameters.ParamByName('Name, Doljnos, gazov, gorodskoy, sotov, ip, fax, portativnaya, mobile, stacionar, abonent, kabinet');
Админ: Пользуемся тегами для оформления кода!

Последний раз редактировалось Admin, 29.06.2011 в 20:53.
Ответить с цитированием
  #2  
Старый 29.06.2011, 21:31
Re3oFFer Re3oFFer вне форума
Прохожий
 
Регистрация: 29.06.2011
Сообщения: 17
Репутация: 10
По умолчанию

Спасибо админ учту в следующий раз =)
Ответить с цитированием
  #3  
Старый 29.06.2011, 22:35
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. ParamByName принимает имя ОДНОГО параметра и возвращает ссылку на соотв. объект, через методы которого и устанавливается значение данного параметра.
2. Дальше вызывается SQL.ExecSQL.
Ответить с цитированием
  #4  
Старый 29.06.2011, 23:11
Re3oFFer Re3oFFer вне форума
Прохожий
 
Регистрация: 29.06.2011
Сообщения: 17
Репутация: 10
По умолчанию

вот так должно получится???
Код HTML:
procedure TForm2.Button1Click(Sender: TObject); begin with Form1.ADOQuery1 do begin Close; SQL.Clear; SQL.Add (' Insert into spravo4nik (Name,Doljnost,gazov,gorodskoy,sotov,' ); SQL.Add (' ip,fax,portativnaya,mobile,stacionar,abonent,kabinet)' ); SQL.Add (' values (:Name,:Doljnost,:gazov,:gorodskoy,:sotov,:ip,:fax,)' ); SQL.Add (' values (:portativnaya,:mobile,:stacionar,:abonent,:kabinet)' ); Parameters.ParamByName('Name,Doljnos,gazov,gorodskoy,sotov,ip,fax,portativnaya,mobile,stacionar,abonent,kabinet'); ExecSQL; SQL.Text:='select * from spravo4nik'; Open;
Ответить с цитированием
  #5  
Старый 30.06.2011, 01:32
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Нет.

Строка
Код:
Parameters.ParamByName('Name,Doljnos,gazov,gorodskoy,sotov,ip,fax,portativnaya,mobile,stacionar,abonent,kabinet');
Неправильная.

Должно быть что-то вида:
Код:
Parameters.ParamByName('Name').AsString := 'value';
И так для каждого параметра.
Ответить с цитированием
  #6  
Старый 30.06.2011, 07:30
Re3oFFer Re3oFFer вне форума
Прохожий
 
Регистрация: 29.06.2011
Сообщения: 17
Репутация: 10
По умолчанию

не получается пишет ошибку

[DCC Error] Unit2.pas(78): E2003 Undeclared identifier: 'AsString'
Ответить с цитированием
  #7  
Старый 30.06.2011, 08:26
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
  ADOQuery1.Parameters.ParamByName('zzz').Value:='zzz';
  ADOQuery1.Parameters.ParamByName('xxx').Value:=123;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #8  
Старый 30.06.2011, 13:45
Re3oFFer Re3oFFer вне форума
Прохожий
 
Регистрация: 29.06.2011
Сообщения: 17
Репутация: 10
По умолчанию

Всё спасибо я уже разобрался на работе =))
Ответить с цитированием
  #9  
Старый 01.07.2011, 21:53
Аватар для Klassenas
Klassenas Klassenas вне форума
Новичок
 
Регистрация: 25.05.2009
Адрес: Казахстан, Павлодар
Сообщения: 87
Версия Delphi: Rad Studio 2010
Репутация: 1570
По умолчанию

А не проще вместо SQL использовать методы компонента ADOQuery:
Код:
ADOQuery1.Insert;{Append, Edit}
ADOQuery1.Fields.FieldByName('FieldName').AsString:='value';
ADOQuery1.Post;
Я могу ошибаться, но думаю, что лучше использовать простые решения.
__________________
Если ты чего-то не знаешь, значит есть шанс научиться чему-то новому
Ответить с цитированием
  #10  
Старый 03.07.2011, 11:23
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

простое решение не всегда правильное и тем более работающее
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:10.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter