Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > ADOTable und IdMessage


Автор: Zugenoid 30.12.2008, 22:32
В обчем выручайте, я мозг себе все-таки вывихнул  
Иде следующая: хранить входящую/исходящую электронную почту в базе Access, а из клиента доступ к ней иметь, соответственно, через ADO. В базу-то я содержимое IdMessage запихал:
Код

IdMessage1.SaveToFile('temp.txt');
...
    Main.ADOTable1.Active:=true;
    Main.ADOTable1.First;
    Main.ADOTable1.Insert;
    ...
    MailBody:=TStringList.Create;
    MailBody.LoadFromFile('temp.txt');
    Main.ADOTable1.FieldByName('MessageBody').AsVariant:=MailBody.Text;
    MailBody.Free;
    DeleteFile('temp.txt');
    Main.ADOTable1.Post;
    Main.ADOTable1.Active:=false;


Согласен - ОЧЕНЬ ТОПОРНО, если кто может подсказать, как сделать изящее - подскажите пожалуйста.
Но вопрос не об этом в основном. Ну запихал я его в базу, сообщение это. А добыть обратно не могу. Пробовал и в обратном порядке все прописывать, и через поток, и через TStrings... При компиляции все проходит, при запуске на исполнение на все один ответ: "Abstract error" (это при попытке сохранить значение MEMO-поля, в котором записано сообщение, куда-то еще - в файл, поток, TStrings - неважно). Что я делаю не так? Или тут дело не в том, что я делаю и как, а в самой идее хранить e-mail в базе? Помогите, други!

Автор: Данкинг 30.12.2008, 22:46
А почему нельзя грузить в поле сразу IdMessage1.Body.Text ?! Зачем нужны подобные извращения с сохранением в файл и обратным считыванием через стринглист?! smile  smile 

Автор: Zugenoid 30.12.2008, 23:43
Цитата(Данкинг @  30.12.2008,  22:46 Найти цитируемый пост)
А почему нельзя грузить в поле сразу IdMessage1.Body.Text ?! Зачем нужны подобные извращения с сохранением в файл и обратным считыванием через стринглист?!

потому что если в сообщении есть приаттаченные файлы, то через IdMessage1.Body.Text при записи сообщения в mdb они (аттачи) теряются, а отдельно сразу сохранять их в отдельные файлы нецелесообразно в плане того, что придется проописывать в базе пути к ним.
А про извращения - тут я согласен. Но я над этими возможно 2-3 строчками седня извращался 5 с половиной часов, и толку никакого...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)