Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.013 c
2-1165688556
XfroSt
2006-12-09 21:22
2007.01.14
Сохранеие иконки в файл своего типа


11-1143587172
Fantasy
2006-03-29 03:06
2007.01.14
Служба


2-1167047200
alex1111111111111111
2006-12-25 14:46
2007.01.14
как с помощью winapi закачать фаил с ftp


15-1166110968
Eraser
2006-12-14 18:42
2007.01.14
Редактор ASCII графики


15-1166285556
TUser
2006-12-16 19:12
2007.01.14
Да не изведется у нас суверенная демократия!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский