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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2013, 13:15   #1
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию Данные не добавляются в таблицу

Добрый день, есть таблица

Цитата:
CREATE TABLE EATTACH (
ID_ATT INTEGER NOT NULL,
ID_MAIL INTEGER,
PATH VARCHAR(255)
);
вот выполяемый код, в аттач компанента пути добавляются кнопкой прикрепит ьи пользователь выделяет каждый файл отдельно.
Код выполняется без ошибок но данные в таблицу не записываются, почему?
Код:
 with DM.EFIZEDIT do
    begin
     DM.EFIZ.First;
     for i:=1 to DM.EFIZ.RecordCount do
         begin
          SQL.Text:='execute procedure PROC_INS_EMAIL (:id_mail, :id_cl, :id_org, :data, :email, :text, :status)';
          ParamByName('id_mail').AsInteger:=-1;
          ParamByName('id_cl').AsInteger:=DM.EFIZ.FieldbyName('ID_CL').AsInteger;
          ParamByName('id_org').AsInteger:=0;// ò.ê. äîáàâëÿåì ðàññûëêó ïî ôèç ëèöó
          ParamByName('data').AsDate:=Date;
          ParamByName('email').AsString:=DM.EFIZ.FieldbyName('EMAIL').AsString;
          ParamByName('text').AsString:=Memo1.Text;
          ParamByName('status').AsInteger:=0;
          Transaction.StartTransaction;
          ExecSQL;
          gl_id_mail:=Current.ByName('RET_ID_MAIL').AsInteger;
          Transaction.Commit;
         // Transaction.Active:=false;
          with DM.IBATT do //äîáàâëÿåì ôàéëû äëÿ ðàññûëêè
            begin
             // SQL.Text:='execute procedure PROC_INS_EMAIL_ATT (:id_att, :id_mail, :path)';
              For j:=0 to DM.GMail.AttachFiles.Count-1 do
                  begin
                   SQL.Text:='execute PROC_INS_EMAIL_ATT (:id_att, :id_mail, :path)';
                   ParamByName('id_att').AsInteger:= -1;
                   ParamByName('id_mail').AsInteger:=gl_id_mail;
                   ParamByName('path').AsString:=DM.GMail.AttachFiles.Strings[j];
                   Transaction.StartTransaction;
                   Transaction.Commit;
//                   ShowMessage(DM.GMail.AttachFiles.Strings[j]);
                  end;
            end;
           DM.EFIZ.Next;
         end;
    end;
А забыл ешё
Код:
create or alter procedure PROC_INS_EMAIL_ATT (
    FIN_ID_ATT integer,
    FIN_ID_MAIL integer,
    FIN_PATH varchar(255))
as
begin
 if (:fin_id_att < 0 ) then
 begin
   insert into eattach (id_mail, path)
   values (:fin_id_att,:fin_path);
 end
 else
 begin
    update
        eattach
    set
     id_mail = :fin_id_mail ,
     path = :fin_path
    where
     id_att = :fin_id_att;
 end
end
Dozent вне форума Ответить с цитированием
Старый 20.02.2013, 13:17   #2
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

Госпади, какой великолепный дурак!!! Забыл выполнить запрос....
Dozent вне форума Ответить с цитированием
Старый 20.02.2013, 13:41   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Самокритика достигла апогея
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не добавляются данные в таблицу mysql _Varyag_ PHP 1 28.10.2012 20:32
Почему не добавляются данные в базу an.net Общие вопросы .NET 2 22.05.2011 09:40
Не добавляются данные в таблицу timesoon Microsoft Office Access 1 13.06.2010 11:52
занести данные в таблицу Танюха Ю Помощь студентам 4 14.10.2009 17:48
Не сохраняет данные в таблицу liienna БД в Delphi 18 02.04.2009 15:32