Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];

Вниз

Почему запрос достает из блоб-поля только 32 килобайта?   Найти похожие ветки 

 
Nameless   (2002-07-29 09:53) [0]

см сабж


 
Lida   (2002-07-29 12:04) [1]

Уважаемый Nameless!
Можно ответить вопросом на вопрос?
Надеюсь, у вас это не займет много времени,
а у меня его совсем мало, поэтому и обращаюсь
к вам.
Я создаю приложение D5, работающее с таблицами
из MSACCESS, у меня открываются все поля, кроме
фотографий. Не знаете, в чем причина?
Заранее благодарна!


 
ЮЮ   (2002-07-29 12:12) [2]

>у меня открываются все поля, кроме фотографий.
Что значит поле открылось? Как проявляется то,что оно не открылось?


 
Black Cat   (2002-07-29 12:15) [3]

Текст работы с Блобом глянуть можно?


 
Nameless   (2002-07-29 12:46) [4]

два дня никто не отвечал...

Вот, пожалуйста сишный вариант:

void __fastcall TForm1::Button4Click(TObject *Sender)
{
Query3->Close();
Query3->SQL->Text = "select photo from table where id = 1 " ;
Query3->Open();
TMemoryStream *ms = new TMemoryStream;
// ms := TMemoryStream.Create;
Query3->FieldByName("photo")->SaveToStream(ms);
ms->Position = 0;
Image1->Bitmap->LoadFromStream(ms);
Query3->Close();
delete ms;
}


примерно так


 
Black Cat   (2002-07-29 13:26) [5]

А есть уверенность что в блобе хранится >32Кб? А если попробовать через файл?


 
Nonam   (2002-07-29 14:01) [6]

BDE Administrator -> Databases -> MS SQL. В закладке Definition имеется параметр с названием BLOB SIZE. По умолчанию он равен 32. Что дальше делать, догадываетесь?


 
Nonam   (2002-07-29 14:04) [7]

Если вы работаете через BDE, то вот одна из возможных причин:
BDE Administrator -> Databases -> MS SQL. В закладке Definition имеется параметр с названием BLOB SIZE. По умолчанию он равен 32. Что дальше делать, догадываетесь?


 
Nameless   (2002-07-29 15:28) [8]

>Black Cat
ДА!
select datalenght(field) from table
------
3995454 - т.е. 3 мега


>Nonam
если бы это мне помогло, Вам бы не пришлось запускать BDE Administrator.


С уважением,


 
Nameless   (2002-07-29 15:34) [9]

>Lida
строку
Query3->FieldByName("photo")->SaveToStream(ms);
следует читать так
TBlobField(Query3.FieldByName("photo")).SaveToStream(ms);
Прошу прощения



 
Black Cat   (2002-07-29 15:49) [10]

И все-таки, если попробовать TBlobField(Query3.FieldByName("photo")).SaveToFile и LoadFromFile соответственно?


 
Nameless   (2002-07-29 15:58) [11]

>Black Cat
Вы хотите блоб-поле выгрузить в файл, а потом отобразить в Image1 с помощью LoadFromFile ?


 
Black Cat   (2002-07-29 16:05) [12]

Именно


 
Nameless   (2002-07-29 17:20) [13]

>Black Cat
А какой смысл?

Через MemoryStream быдет быстрее в 100 раз и не придётся файл стирать потом.


 
Black Cat   (2002-07-30 08:34) [14]


> А какой смысл?
>
> Через MemoryStream быдет быстрее в 100 раз и не придётся
> файл стирать потом


Это все понятно, смысл - просто проверить, кто виноват. Вообще-то с мемористреам не должно быть проблем, уменя следующий код работает как часы:

MS := TMemoryStream.Create;
try
TBlobField(F).SaveToStream(MS);
MS.Seek(soFromBeginning, 0);

case Gr_type of
1: begin
JPG := TJPEGImage.Create;
try
JPG.LoadFromStream(MS);
P.Assign(JPG);
finally
JPG.Free;
end;
end;
2: begin
GIF := TGIFImage.Create;
try
GIF.LoadFromStream(MS);
P.Assign(GIF);
finally
GIF.Free;
end;
end;



 
Прохожий   (2002-08-02 21:45) [15]

Акцесс дописывает свой заголовок в оле-поля



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
1-71129
SemFLY
2002-08-09 14:55
2002.08.22
Как лучше сделать ?


3-70957
dimonf
2002-08-04 12:51
2002.08.22
Подскажите почему у меня не работает база данных под Windows XP?


1-71191
Sour
2002-08-09 09:52
2002.08.22
Помогите с алгоритмом


3-71026
NDR
2002-07-31 12:10
2002.08.22
Как проиндексировать базу


3-70970
NDR
2002-08-02 13:56
2002.08.22
ОТМЕНА последнего действия !





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