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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2011, 16:58   #1
silent_lab
Пользователь
 
Регистрация: 16.06.2009
Сообщений: 36
Вопрос Сохранить из RichEdit текст и форматирование запросом для ADOQuery через INSERT INTO

Здравствуйте !
Возник вопрос , а вернее не один...
Нужно сохранить в БД Access и MSSQL текст с форматированием из RichEdit, как это сделать для локальных баз я знаю есть компоненты, а как сделать только запросами ADOQuery ? Возникли проблемы..... Пробовал через потоки и задавать параметры, но INSERT INTO так и не заработал, решение нашел, но я думаю что оно не совсем правильное....
Хотелось узнать, как все-таки правильно делать и по возможности с примерами и объяснением, конечно если не трудно...
За ранее спасибо.

Вот как делал и сам код моих трудов так который работает сказать :

Код:
Var ms: TMemoryStream;
    id_zapis:Integer;
Begin
. . . . . 
. . . . .
with DBModule.ADOQuery1 do
    begin
        ms := TMemoryStream.Create;//создаю поток
        try
        TFrFormaZ1.RichEdit.Lines.SaveToStream(ms) ;// Выгружаю в поток форматирование и текст
        Active := True;
         Insert; // добовляю запись
           FieldByName('num_con').AsString := TFrFormaZ1.NEdit.Text; // записываю значения в поле Это № записи
           TMemoField(DBModule.ADOQuery1.Fields[2]).LoadFromStream(ms); // Сохраняю в поток Поле БД, тип поля MEMO
         Post; // Сохраняем запись в БД
         Last; // Переходим на последнию запись
           id_zapis := FieldByName('id_con').AsInteger; // присваиваем переменой номер нашей добавленной записи
           Edit1.Text := IntToStr(id_zapis); // показываем этот номер (Это сделал на время тестирования)
        finally
        	  ms.Free; // уничтожаем поток
        end ;
    end;

end;

Вот что еще хотелось добавить, в ADOQuery1 в тексте запроса SQL вписал «select * from Table_Text» , то есть указал с какой таблицей работаю, также в таблице з поля:

id_con	- авто-инкремент;
num_con	- текстовое поле (длина поля 5);
text	- поле тип MEMO;
А вот так не хочет, дает ошибку что пропущен оператор в INSERT INTO :

Код:
Var ms: TMemoryStream;
    id_zapis:Integer;
Begin
. . . . . 
. . . . .
with DBModule.ADOQuery1 do
    begin
        ms := TMemoryStream.Create;//создаю поток
        try
	   Active := False;
        	   SQL.Clear;
            SQL.Add ('INSERT INTO Table_Text (num_con,text) VALUE (:Nproced,:RtfStream)');
           Parameters.ParamByName('Nproced').Value := TFrFormaZ1.NEdit.Text;
           Parameters.ParamByName('RtfStream').LoadFromStream(ms,ftMemo);
            ExecSQL;        
           id_zapis := FieldByName('id_con').AsInteger; // присваиваем переменой номер нашей добавленной записи
           Edit1.Text := IntToStr(id_zapis); // показываем этот номер (Это сделал на время тестирования)
        finally
        	  ms.Free; // уничтожаем поток
        end ;
    end;

end;

Вот что еще хотелось добавить, как только не пробовал все равно ошибка, и кавычки добавлять и без них, , также в таблице з поля:

id_con	- авто-инкремент;
num_con	- текстовое поле (длина поля 5);
text	- поле тип MEMO;


Сейчас проверяю на БД Access, но это для пробы потому как компьютер не в локальной сети, а вообще собираюсь перенести на MSSQL , поэтому возникает еще один вопрос какой тип поля сделать в таблице для хранения из RichEdit, как и форматирование так и текст.
silent_lab вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из Clipboard пропадает(для RichEdit) текст Valio Общие вопросы Delphi 5 15.05.2011 19:34
проблема с запросом ADOQuery Kolya29 БД в Delphi 29 07.06.2010 20:38
Форматирование в RichEdit Kib Общие вопросы Delphi 0 28.06.2009 00:27
Помогите с запросом ADOQuery в Delphi 7 Wolverine БД в Delphi 21 25.05.2009 15:03
арод помогите с запросом на Insert в TQuery xxxsas SQL, базы данных 12 08.01.2009 16:26