Проблема Обновления Бд Запросом Update

  • Автор темы FLYer
  • Дата начала
Статус
Закрыто для дальнейших ответов.
F

FLYer

Гость
#1
Есть БД с контактными данными. Хочу реализовать функцию Изменения существующей записи, путем применения запроса UPDATE.
Вот код:

Код:
with DataModule2.ADOQuery3 do
begin
Active:=false;
SQL.Clear;
SQL.Text:='UPDATE Контакты';
SQL.Text:='SET Фамилия=DBEdit3.Text,Имя=DBEdit1.Text,Отчество=DBEdit2.Text],[Домашний телефон]=DBEdit4.Text],[Рабочий телефон]=DBEdit5.Text],[Мобильный телефон]=DBEdit6.Text],Адрес=DBEdit7.Text';
SQL.Text:='SET [,[e-mail]=DBEdit8.Text,facebook=DBEdit9.Text,twitter=DBEdit10.Text,ВКонтакте=DBEdit11
.Text,ICQ=DBEdit12.Text,[День Рождения]=DateTimePicker1.Date]';
ExecSQl;
SQL.Clear;
SQL.Text:='SELECT * FROM [Контакты]';
Active:=True;
end;
Но выдается вот такая ошибка:

"Project Project1.exe raised exception class EOleException with message:"Ошибочная инструкция SQL; предполагалось 'DELETE, 'INSERT', 'PROCEDURE, 'SELECT или 'UPDATE'."

и выделяется строка с SQL.Clear; перед запросом SELECT. В чем может быть проблема ? Заранее спасибо :)
 

nayke

Well-Known Member
04.08.2010
310
0
Москва
#2
SQL.Text:='SET Фамилия=DBEdit3.Text,Имя=DBEdit1.Text,Отчество=DBEdit2.Text],[Домашний телефон]=DBEdit4.Text],
1. текстовые параметры передаются в кавычках
2. SQL.text это помоему Tstrings а не string но могу ошибаться, посмотрите метод append или еще как то так..
3. откуда появилась "]"

вобщем должно быть примерно так.. код не точный но надеюсь направление понятно
SQL.append('SET фамилия='''+DBEdit3.Text+''',Отчество='''DBEdit2.Text и т.д.
 
Статус
Закрыто для дальнейших ответов.