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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2013, 09:54   #1
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию empty sql statement

Добрый день, при выполнении запроса выходит ошибка empty sql statement

Код:
procedure TAddOrgSotrF.Button1Click(Sender: TObject);
begin
try
  with DM.IBOrgSotrEdit do
    begin
        SQL.Text:='execute procedure PROC_INS_ORG_FACE (:id_face, :id_org, :fio, :post_face, :email_face, :tel_face, :telm_face)';
//Если FNew =true то идёт добавление и в процедуру передаём -1 если фалс то это редатирование и тут нужно указать какую запись изменяем
        if FNew then ParamByName('id_face').AsInteger:= -1 else ParamByName('id_face').AsInteger:= DM.IBOrgSotr.FieldbyName('id_face').AsInteger;
        ParamByName('id_org').AsInteger:=gl_org_id;   //Ади организации которой пренадлежит сотрудник
        ParamByName('fio').AsString:=Edit1.Text;
        ParamByName('post_face').AsString:=Edit2.Text;
        ParamByName('email_face').AsString:=Edit3.Text;
        ParamByName('tel_face').AsString:=Edit4.Text;
        ParamByName('telm_face').AsString:=Edit5.Text;
     { if FNew then
        SQL.Text:='execute procedure PROC_INS_ORG_FACE (-1, '''+gl_org_id+''', '''+Edit1.Text+''', '''+Edit2.Text+''', '''+Edit3.Text+''', '''+Edit4.Text+''', '''+Edit5.Text+''')'
      else
  //      SQL.Text:='execute procedure PROC_INS_ORG ('+DM.IBOrg.FieldbyName('ID_ORG').AsString+', '''+DM.IBOrg.FieldbyName('P_ORG').AsString+''', '''+Edit1.Text+''', '''+ComboBox2.Text+''', '''+Memo1.Text+''', '''+Edit3.Text+''', '''+Edit4.Text+''')';}
     Transaction.StartTransaction;
     ExecSQL;
     Transaction.Commit;
     Transaction.Active:=false;
    end;
    DM.IBOrgSotr.Close;
    DM.IBOrgSotr.Open;
  except
  on E:Exception do
    begin
      if DM.IBOrgSotrEdit.Transaction.Active then DM.IBOrgSotrEdit.Transaction.Rollback;
      Application.MessageBox(PChar('Ошибка'+E.Message),'Ошибка', MB_ICONERROR);
    end;
end;
AddOrgSotrF.Close;
end;
В чём проблема?
Dozent вне форума Ответить с цитированием
Старый 19.02.2013, 10:08   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

На какой команде ошибка:

ExecSQL;

или

DM.IBOrgSotr.Open;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.02.2013, 10:25   #3
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

DM.IBOrgSotr.Open;
На этой, всё разобрался, проблема была в том что предварительно присваивал текст запроса только в том случае если запись шла на редоктирование, поэтому скл текст был пустой, исправил. Спасибо!
Dozent вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка "Empty SQL Statement" Alginsky БД в Delphi 12 30.01.2013 22:47
[PHP] Функция empty() Qerti Помощь студентам 0 06.10.2011 21:35
No SQL statement available MixanMM БД в Delphi 2 07.06.2011 07:53
ignore empty cells Olya1985 Microsoft Office Excel 17 03.01.2011 18:36
SQL:Statement too long Ks2010 БД в Delphi 44 21.07.2010 18:16