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

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

StringGrid to BLOB


K_Lock ©   (2006-08-06 18:32:00) 

Добрый день .
Подскажите пожалуйста:

Есть таблица StringGrid. Как все данные этой таблицы добавить в таблицу БД в поле типа BLOB


K_Lock   (2006-08-06 22:35:00) [1]

Разобрался. :-)   Всем спасибо.

    F1-  рулит.


Юрий Зотов   (2006-08-06 21:31:00) [2]

Добавление: чтобы правильно организовать цикл при чтении потока, в него самыми первыми полями нужно записать количество строк и столбцов (2 поля по 4 байта). А уж потом - сами строки (в формате длина+тело).


Юрий Зотов   (2006-08-06 21:26:00) [3]

> K_Lock ©   (06.08.06 18:32)

Если данные из StringGrid перегнать в поток (Stream), то остальное уже не проблема, верно? Поскольку существует TBlobStream.

ОК, теперь будем думать, как записать двумерный массив строк (что, по сути, и содержит StringGrid) в поток. Очевидно, это надо делать в двойном вложенном цикле - и, таким образом, осталась последняя проблема: как записать в поток строку переменной длины, чтобы ее потом можно было оттуда прочитать?

Очень просто - сначала в поток пишем длину строки (4 байта), затем саму строку. Соответственно, читается так же - сначала длина (4 байта), потом под строку выделяется память и в нее читается сама строка.

Собственно, вот и вся проблема. Осталось написать то же самое, только уже не по-русски, а на языке Object Pascal.


K_Lock   (2006-08-06 21:11:00) [4]

Ребят, ну подскажите кто-нибудь....


Virgo_Style   (2006-08-06 19:06:00) [5]

если я правильно понял

Нет


K_Lock   (2006-08-06 18:59:00) [6]

т.е. если я правильно понял:

DataSet.FieldByName('BlobField').Assign(StringGrid) ;

??????


KilkennyCat   (2006-08-06 18:37:00) [7]

SaveToStream ?


Наверх

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