Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.27;
Скачать: CL | DM;

Вниз

StringGrid to BLOB   Найти похожие ветки 

 
K_Lock ©   (2006-08-06 18:32) [0]

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

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


 
KilkennyCat ©   (2006-08-06 18:37) [1]

SaveToStream ?


 
K_Lock ©   (2006-08-06 18:59) [2]

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

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

??????


 
Virgo_Style ©   (2006-08-06 19:06) [3]

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

Нет


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

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


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

> K_Lock ©   (06.08.06 18:32)

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

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

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

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


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

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


 
K_Lock ©   (2006-08-06 22:35) [7]

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

   F1 -  рулит.



Страницы: 1 вся ветка

Текущий архив: 2006.08.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.053 c
15-1154075759
Separator
2006-07-28 12:35
2006.08.27
Посоветуйте почтовый сервер под Windows


11-1131652752
Flea
2005-11-10 22:59
2006.08.27
MHFindReplaceDialog


1-1152585439
Calibr2
2006-07-11 06:37
2006.08.27
Как узнать что пользователь только-что закрыл AutoCAD


2-1154898634
Alral
2006-08-07 01:10
2006.08.27
Character


15-1154216671
гастрит
2006-07-30 03:44
2006.08.27
Винт