Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
10-1123070939
Дима Н.
2005-08-03 16:08
2006.08.27
Delphi 5 и Excel 2002. Кто знает, как программно закрыть


2-1154704534
Klever
2006-08-04 19:15
2006.08.27
количество строк таблицы DBGrid


15-1154367133
ALEXD31
2006-07-31 21:32
2006.08.27
VmWare workstation 5.5


3-1150701631
Jann
2006-06-19 11:20
2006.08.27
связь с MS SQL Server


15-1154510916
SPeller
2006-08-02 13:28
2006.08.27
Глюк IE. Помогите, кто чем может





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский