C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
И снова BLOB но не бейте ногами.
Vini74
Отправлено: 14.11.2006, 12:33


Ученик-кочегар

Группа: Участник
Сообщений: 3



Имеем: CB6 ADO MSDE 2000

В BLOB-ах хранятся вещественные числа типа float (формат IEEE, размер 4 байта),

С точки зрения языка С, то что записано в массиве это следующее:
float arWave[8192];

то есть просто (memcpy( arWave, &BLOB, sizeof(arWave) ) и используем.

Так вот вопрос! Как загрузить BLOB в память, что бы можно было потом через memcpy скопировать массив данных в массив для дальнейшего использования?
Valdemar
Отправлено: 14.11.2006, 12:49


Мастер участка

Группа: Участник
Сообщений: 433



Используйте TBlobField::SaveToStream

Отредактировано Valdemar — 14.11.2006, 12:53
Vini74
Отправлено: 14.11.2006, 13:03


Ученик-кочегар

Группа: Участник
Сообщений: 3



То что это можно использовать — оно понятно....
А что потом с этим стримом делать????
Есть у нас TmemoStream, но в каком виде там все хранится?
как получить указатель на данные? как сделать memcpy?

Отредактировано Vini74 — 14.11.2006, 13:16
Valdemar
Отправлено: 14.11.2006, 13:20


Мастер участка

Группа: Участник
Сообщений: 433



У TMemoryStream есть метод ReadBuffer, который записывает данные из потока в буфер.
Vini74
Отправлено: 14.11.2006, 13:34


Ученик-кочегар

Группа: Участник
Сообщений: 3



Да, спасибо... Слона то я и не заметил...

Вернуться в Работа с базами данных в C++Builder