Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.03 c
3-1150837395
pooh
2006-06-21 01:03
2006.08.27
Помогите сформировать ConnectionString


3-1150961470
worldmen
2006-06-22 11:31
2006.08.27
Узнать номер строки в TDBGridе или SQLе


2-1154762266
max1991
2006-08-05 11:17
2006.08.27
OpenDialog


6-1144664680
Std
2006-04-10 14:24
2006.08.27
Indy tc clien


6-1144846173
Jolik
2006-04-12 16:49
2006.08.27
Автоматическое обновление программы через интернет...




   Наверх