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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.02.2011, 22:10
Аватар для TolAlik
TolAlik TolAlik вне форума
Прохожий
 
Регистрация: 02.10.2009
Сообщения: 41
Репутация: 10
Вопрос Проблема с IBQuery

Hi!!! У меня возникла проблема при переходет от компонента IBTable к IBQuery . Когда начинаю выполнять запрос на добовление новой записи:
Код:
var
s:string;
begin
  with Data_Module do
  begin
      IBQuery1.Active:=True;
      IBQuery1.Close;
      s:='insert into employees (F,I,O,lg,pwd) values('+Trim(Edit1.Text)+','+Trim(Edit2.Text)+','+Trim(Edit3.Text)+','+Trim(Edit4.Text)+','+Trim(Edit5.Text)+');';
      IBQuery1.SQL.Text:=s;
      IBQuery1.ExecSQL;
end;
Выходит ошибка:
Код:
Dynamic SQL Error
SQL error code = -104
Unexpected end command
Вроде слышал что надо набор данных открывать для изменения, но какое свойство отвечает за это не знаю.
Уже не знаю что и делать.
Пожалуйста объясните что я делаю не так.
Ответить с цитированием
  #2  
Старый 19.02.2011, 09:42
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Лучше всего текст таких запросов формировать с помощью Format:
Код:
IBQuery1.SQL.Text := Format('insert into employees (F,I,O,lg,pwd) values(''%s'',''%s'',''%s'',''%s'',''%s'');',[Trim(Edit1.Text),Trim(Edit2.Text),Trim(Edit3.Text),Trim(Edit4.Text),Trim(Edit5.Text)]);
или параметров:
Код:
IBQuery1.SQL.Text := 'insert into employees (F,I,O,lg,pwd) values(:S1,:S2,:S3,:S4,:S5);
IBQuery1.ParamByName('S1').AsString := QuotedStr(Trim(Edit1.Text));
IBQuery1.ParamByName('S2').AsString := QuotedStrTrim(Edit2.Text));
IBQuery1.ParamByName('S3').AsString := QuotedStrTrim(Edit3.Text));
IBQuery1.ParamByName('S4').AsString := QuotedStrTrim(Edit4.Text));
IBQuery1.ParamByName('S5').AsString := QuotedStrTrim(Edit5.Text));
IBQuery1.ExecSQL;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 19.02.2011 в 09:46.
Ответить с цитированием
  #3  
Старый 19.02.2011, 11:54
Аватар для TolAlik
TolAlik TolAlik вне форума
Прохожий
 
Регистрация: 02.10.2009
Сообщения: 41
Репутация: 10
По умолчанию

Спасиб) Вот теперь все работает, буду далше разбираться.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter