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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.07.2009, 13:29   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
Смущение Из Memo в BLOB

Как загрузить текст из Memo в BLOB-поле?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 23.07.2009, 13:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Воспользуйся компонентом DBMemo.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.07.2009, 13:56   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

А как прописать код вставки текста?
Так чтоли:
Код:
begin
 DBMemo1.DataSource.DataSet.Post;
end;
или
Код:
begin
 DBMemo1.DataSource.DataSet.Insert;
end;
??
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 23.07.2009, 14:13   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
А как прописать код вставки текста?
Всмысле? Создания новой записи? Просто создай ее, а DBMemo на нее перескочит само.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.07.2009, 14:36   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Цитата:
Создания новой записи? Просто создай ее, а DBMemo на нее перескочит само.
В том смысле, что мне надо, чтобы тот текст, который введен в Memo или DBMemo по нажатию на кнопку вставлялся в BLOB-поле в БД). Можешь помочь кодом? Или подсказать другой способ вставки текста из программы в BLOB-поле?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 23.07.2009, 14:45   #6
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

Запись:
Код:
var
  st: TMemoryStream;
begin
 St := TMemoryStream.Create;
 try
   Memo1.Lines.SaveToStream(St);
   St.Position:=0;
   ADOQuery1.Insert;
   TBlobField(ADOQuery1.FieldByName('BLOB')).LoadFromStream(St);
   if ADOQuery1.Modified then
     ADOQuery1.Post;
 finally
   St.Free;
 end;
Читаем:
Код:
var
  st: TMemoryStream;
begin
 St := TMemoryStream.Create;
 try
   TBlobField(ADOQuery1.FieldByName('BLOB')).SaveToStream(St);
   St.Position:=0;
   Memo1.Lines.LoadFromStream(St);
 finally
   St.Free;
 end;
И проблем с DBMemo нет, кидай на форму указывай DataSource и DataField, дальше как всегда AdoQuery1.Insert, AdoQuery1.Append, AdoQuery1.Edit.

Последний раз редактировалось Evgeniy26; 23.07.2009 в 14:55.
Evgeniy26 вне форума Ответить с цитированием
Старый 23.07.2009, 15:22   #7
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

При попытки выполнить процедуру вставки текста, выдается ошибка: Query1: Cannot perform this operation on closed dataset. Может быть нужно чтото в коде добавить?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 23.07.2009, 15:26   #8
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

Открой Query.
Evgeniy26 вне форума Ответить с цитированием
Старый 23.07.2009, 15:33   #9
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Все равно эта же ошибка. И при ошибке выделяет эту строчку
Код:
var
  st: TMemoryStream;
begin
 St := TMemoryStream.Create;
 try
   Memo1.Lines.SaveToStream(St);
   St.Position:=0;
   ADOQuery1.Insert;
   TBlobField(ADOQuery1.FieldByName('BLOB')).LoadFromStream(St);
   if ADOQuery1.Modified then
     ADOQuery1.Post;
 finally
   St.Free;
 end;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 23.07.2009, 15:41   #10
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

Удали ее и попробуй вставку сделать. Что напишет?
Evgeniy26 вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
BLOB поле artemavd БД в Delphi 17 09.08.2016 02:13
Перевод из Memo по английскому в Memo по русскому Sanek777 Общие вопросы Delphi 5 26.09.2008 00:17
Blob поля в делфи dagarik БД в Delphi 2 02.12.2007 17:33
В Memo сделать так, чтобы текст был разного цвета, разноцветный memo Artem Компоненты Delphi 3 07.09.2007 13:40
BLOB в string _andrews_ БД в Delphi 0 20.04.2007 12:05