Главная страница
    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.012 c
1-1164312336
Udaff
2006-11-23 23:05
2007.01.14
Дбгрид


2-1167051186
Numark
2006-12-25 15:53
2007.01.14
вопрос по ExcelApplication


2-1166529073
~Димас~
2006-12-19 14:51
2007.01.14
Интеграция


1-1163789132
SkySpeed
2006-11-17 21:45
2007.01.14
Как распечатать, используя Delphi файл?


9-1141919342
ЛенаОД
2006-03-09 18:49
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский