Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

BLOB-поля по-простому [D6, IB6.x]


Sirruf ©   (2004-08-05 12:14:00) 

Никогда раньше не работал с блобами, но, похоже, час настал. Допустим, я хочу хранить в каждой записи поля список, например TStringList. Как записать переменную типа TStringList в это поле?
Как потом прочитать значения из стринглиста поиндексно из данной записи?


Shama_n   (2004-08-05 14:27:00) [1]

Нужно преобразовать TStringList в TMemoryStream с помощью SaveToStream и дальше через параметр вставлять значение TMemoryStream в SQL запрос
Например таким образом:

var
ParamVariable: TMemoryStream;
begin
Query1.SQL.Clear;
Query1.SQL.Add('INSERT INTO TABLENAME');
Query1.SQL.Add('(FIELDNAME)');
Query1.SQL.Add('VALUES (:Param)');
Query1.ParamByName('Param').DataType := ftMemo;
ParamVariable := TMemoryStream.Create;
Memo1.Lines.SaveToStream(ParamVariable);
Form1.Query1.ParamByName('Param').LoadFromStream(ParamVariable,ftMemo);
Query1.ExecSQL;


//Извинения если где ошибся. Код на работоспособность не проверял


Digitman   (2004-08-05 14:04:00) [2]


> Как записать переменную типа TStringList в это поле?


хранить переменную классового типа в любом контейнере, будь то БЛОБ или не БЛОБ, бессмысленно - такая переменная есть просто 4-байтный указатель, имеющий смысл только в текущем сеансе работы приложения

но ничто не мешает записать в БЛОБ-поле в тек.сеансе, например, значение св-ва TStringList.Text, чтобы в следующем сеансе воссоздав объект TStringList прочитать БЛОБ-поле и прочитанное значение назначить св-ву TStringList.Text


Sergey13   (2004-08-05 12:40:00) [3]

yandex.ru - подойдет?


Sirruf   (2004-08-05 12:36:00) [4]

Ну хоть бы ссылку на какую-нить статью дали, если есть. Если нет - извините, что  потревожил.


Johnmen   (2004-08-05 12:18:00) [5]

Если я раньше никогда не водил авто, я не лезу с вопросами на форум, типа "А какие там педали ? Для чего нужен руль ?", а иду учиться в автошколу. Или беру в руки самоучитель...

Ку?


Наверх

Титульная страница Поиск, карта сайта Написать письмо