Форум: "Начинающим";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.041 c