Форум: "Начинающим";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];
Внизпрооблемы с blob полем Найти похожие ветки
← →
LPal7 (2006-12-26 14:25) [0]Добрый день.
Такая проблемка. Есть БД на Оракле. В одной из таблиц имеется поле типа Blob. Получаю значение данного поле, которое отображается в виде "|". Определяю длину строки - показывает 82. Если значение данного поля "", длина строки - 0.
Вопрос: как можно всё-таки получть значение этих самых 82-х символов?
Благодарен любым советам (только не оскорбительным :)) .
← →
Elen © (2006-12-26 14:36) [1]
> Получаю значение данного поле, которое отображается в виде
> "|"
Ну может быть ты используеш тип String и оно в него неправильно конвертит? Попробуй получить в Pchar... Как получаеш, то?
← →
LPal7 (2006-12-26 14:51) [2]Получал разными способами:
1) через Stream
2) через FieldByName("").asVarian или AsString
результат один и тот-же
← →
Desdechado © (2006-12-26 15:26) [3]поскольку блоб - типичное хранилище для бинарника, то не удивительно, что в нем не строка, а поток байтов
TBlobStream
← →
LPal7 (2006-12-26 15:43) [4]Я понимаю. Но как-то этот "поток байтов" просмотреть можно?
Через TBlobStream пытался. Результат такой же.
Может делаю что-то не так?
var Stream: TStream
----------
Stream:=Adotable1.CreateBlobStream(Adotable1.FieldByName("BStat"),bmread);
memo1.Lines.LoadFromStream(Stream);
← →
Сергей М. © (2006-12-26 15:54) [5]var
i: Integer;
b: Byte;
..
Stream:=Adotable1.CreateBlobStream(Adotable1.FieldByName("BStat"),bmread);
while Stream.Read(b, 1) = 1 do Memo1.Lines.Add(IntToHex(b, 2));
← →
LPal7 (2006-12-26 16:04) [6]Сергей М. спасибо за совет. Завтра обязательно попробую. Только объясни пожалуйста, зачем ты ввёл переменную i, если она нигде не используется? Или в строке
while Stream.Read(b, 1) = 1 do Memo1.Lines.Add(IntToHex(b, 2));
имеет место опечатка?
← →
Сергей М. © (2006-12-26 16:11) [7]Выкинь ее, если не используется
← →
Desdechado © (2006-12-26 16:21) [8]> Но как-то этот "поток байтов" просмотреть можно?
Ну, посмотрел ты на байт с кодом 0 или 1, что увидел?
Вот поэтому нефиг пхать их в мемо.
Толку от этого просмотра.
← →
LPal7 (2006-12-26 16:38) [9]Desdechado, толк большой. получив набор ноликов и единичек я попытаюсь определить как они группируются, и если мне это удастся смогу переводить группы символов из двоичной системы в десятеричную......
← →
Сергей М. © (2006-12-26 16:49) [10]
> LPal7 (26.12.06 16:38) [9]
предположим, приведенный мной код выдал тебе в мемо следующую адракадабру:
A7
8C
09
00
FF
FF
E5
69
30
00
00
D4
44
Покажи как ты собрался определять то самое "как они группируются", что здесь есть "группы символов" и как при этом выглядит их перевод "из двоичной системы в десятеричную" ...
← →
LPal7 (2006-12-26 17:03) [11]Я знаю, что в конкретной строке в данном поле доллжны быть "зашифрованы" некоторые данные, в том числе и числа. Например 300, 2200, 2200, 600.....
Получу двоичный (шестнадцатиричный) код этих чисел и попробую сопоставить эти два набора бинарных символов. Авось чё нибудь и прояснится..........
В любом случае проверить это смогу только завтра, так как база и прога на работе, а я сейчас дома........
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.012 c