Вниз
Скачать: 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
6-1143915350
NKVDwnik
2006-04-01 22:15
2006.08.27
Отправка почты


15-1153485865
McSimm
2006-07-21 16:44
2006.08.27
Продолжение ветки "Для любителей коммунизъъма (TUser)"


6-1144091609
Velimir
2006-04-03 23:13
2006.08.27
Чат в локальной сети с динамическим IP (tcp)


2-1155116069
DelphiLexx
2006-08-09 13:34
2006.08.27
Скопировать все данные из TRxMemoryData в TFIBDataSet


15-1154493115
Ega23
2006-08-02 08:31
2006.08.27
С Днём рождения! 2 августа




   Наверх