Вниз
Скачать: 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.048 c
4-1146664587
grisme
2006-05-03 17:56
2006.08.27
Как вычислять параллельно?


15-1154269891
Филипок:)
2006-07-30 18:31
2006.08.27
Игра


5-1138281758
ronyn
2006-01-26 16:22
2006.08.27
Встроеное контекстное меню


4-1146750887
__ViC
2006-05-04 17:54
2006.08.27
Перечват CreateFile


15-1154573387
Пользоват.
2006-08-03 06:49
2006.08.27
Помогите переключить раскладку при входе в виндовс.




   Наверх