|
|
|
работа с Image в MS SQL
|
|||
|---|---|---|---|
|
#18+
Как записать данные и извлечь их из поля данного типа? я пишу на билдере.... знаю что есть что то вроде лоад ту стрим и сейв ту стрим... конектюсь через адо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2003, 16:53 |
|
||
|
работа с Image в MS SQL
|
|||
|---|---|---|---|
|
#18+
немного разобрался... вставляю так ADOTable1->Edit(); ((TBlobField *) ADOTable1->FieldByName("foto"))->LoadFromFile(FileListBox1->FileName); ADOTable1->Post(); а вот вынимать так как в хелпе не получаеться ADOQuery1->Open(); int MemSize; char *Buffer; //if (!ADOQuery1->Eof) //ADOQuery1->Next(); TStream *Stream = ADOQuery1->CreateBlobStream((TBlobField *)ADOQuery1->FieldByName("foto"), bmRead); try { MemSize = Stream->Size + 1; // add one for null terminator Buffer = new char[MemSize]; // Allocate the memory. try { Stream->Read(Buffer, MemSize); //Read Notes field into buffer. Image1->SetTextBuf(Buffer); // Display the buffer's contents. } catch (...) { delete Buffer; throw; } delete Buffer; } catch (...) { delete Stream; throw; } delete Stream; в запросе выбрано одно поле... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 17:46 |
|
||
|
работа с Image в MS SQL
|
|||
|---|---|---|---|
|
#18+
А что нельзя сразу взять TDBImage и в нем отображать картинку. TDBImage1->DataField = "foto" ; И смотри на картинку на здоровье. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2003, 19:58 |
|
||
|
работа с Image в MS SQL
|
|||
|---|---|---|---|
|
#18+
2MrAlex в вашем случае я смогу отображать только файлыбмп, а у меня jpg выходя нашел, код приведу позже... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2003, 19:09 |
|
||
|
работа с Image в MS SQL
|
|||
|---|---|---|---|
|
#18+
//--------------------------------------------------------------------------- bool save_jpeg( TField *field, TJPEGImage *picture ) { assert(field); assert(picture); TMemoryStream *stream = new TMemoryStream; TBlobField *blob = (TBlobField *)field; try { picture->SaveToStream(stream); int sz = stream->Size; if( sz > NULL ) { stream->Seek(0,0); blob->LoadFromStream(stream); } }catch(...){ return false;} delete stream; return true; } //--------------------------------------------------------------------------- bool load_jpeg( TField *field, TJPEGImage *picture ) { bool result = true; assert(field); assert(picture); TMemoryStream *stream = new TMemoryStream; TBlobField *blob = (TBlobField *)field; try { blob->SaveToStream(stream); int sz = stream->Size; if( sz > NULL ) { stream->Seek(0,0); picture->LoadFromStream(stream); }else result = false; }catch(...){ result = false; } delete stream; return result; } //--------------------------------------------------------------------------- bool jpeg2file( TField *field, char *name_file ) { bool result = true; assert(field); assert(name_file); TMemoryStream *stream = new TMemoryStream; TBlobField *blob = (TBlobField *)field; try { blob->SaveToStream(stream); int sz = stream->Size; if( sz > NULL ) { stream->Seek(0,0); stream->SaveToFile(name_file); }else result = false; }catch(...){ result = false; } delete stream; return result; } //--------------------------------------------------------------------------- bool save_jpeg( TField *field, ::Graphics::TBitmap *picture ) { assert(field); assert(picture); TMemoryStream *stream = new TMemoryStream; TBlobField *blob = (TBlobField *)field; try { picture->SaveToStream(stream); int sz = stream->Size; if( sz > NULL ) { stream->Seek(0,0); blob->LoadFromStream(stream); } }catch(...){ return false;} delete stream; return true; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2003, 09:32 |
|
||
|
работа с Image в MS SQL
|
|||
|---|---|---|---|
|
#18+
Lepsik bool jpeg2file( TField *field, char *name_file ) { bool result = true; assert(field); assert(name_file); TMemoryStream *stream = new TMemoryStream; TBlobField *blob = (TBlobField *)field; try { blob->SaveToStream(stream); int sz = stream->Size; if( sz > NULL ) { stream->Seek(0,0); stream->SaveToFile(name_file); }else result = false; }catch(...){ result = false; } delete stream; return result; } А кто-нибуть может подсказать, почему в этом случае у меня размер файла получается 8000 байт? Картинка храниться в базе большего размера.... Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2005, 15:04 |
|
||
|
работа с Image в MS SQL
|
|||
|---|---|---|---|
|
#18+
--А кто-нибуть может подсказать, почему в этом случае у меня размер файла получается 8000 байт? Это рабочий код моей проги - храню картинки до 20-50 мег размером А вообще более подробно в FAQ http://www.sql.ru/faq/faq_topic.aspx?fid=334 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2005, 08:26 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33158585&tid=2032941]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
55ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 381ms |

| 0 / 0 |
