Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Перенос изображения в MS SQL / 14 сообщений из 14, страница 1 из 1
15.10.2004, 14:30
    #32740530
Sagaz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос изображения в MS SQL
Доброе время! Помогите люди плиз. Надо мне закачать картинки в базу, написал следующий код, но сохранять в базу категорически отказывается под предлогом 'Invalid BLOB length'. Что не так с кодом?

Table1->Close();
TBlobField *MyField;
MyField = new TBlobField(NULL);

MyField->FieldName = "picture";
MyField->Name = Table1->Name + MyField->FieldName;
MyField->Index = Table1->FieldCount;
MyField->DataSet = Table1;
Table1->Open();
Table1->Edit();
MyField->LoadFromFile("D:\\data\\DBChart2.bmp");
Table1->Post();

Благодарю за внимание!
...
Рейтинг: 0 / 0
15.10.2004, 14:39
    #32740553
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос изображения в MS SQL
Поиск рулит , поиши по слову blob
на этом форуме
...
Рейтинг: 0 / 0
15.10.2004, 15:01
    #32740617
Sagaz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос изображения в MS SQL
Я смотрел. Сплошняком stream и загрузка jpg. Просто мне интересно что с моим кодом не так. Если он вообще не верный то другое дело...

Благодарю за внимание
...
Рейтинг: 0 / 0
15.10.2004, 15:11
    #32740650
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос изображения в MS SQL
помойму , все таки у тобя , что то неверно ...


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
15.10.2004, 15:30
    #32740696
Sie
Sie
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос изображения в MS SQL
2 JS
а то, было бы верно он бы сюда не пришёл :)
...
Рейтинг: 0 / 0
15.10.2004, 15:50
    #32740757
Sagaz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос изображения в MS SQL
Кстати, Да! Я помощи прошу по своему конкретному примеру. То что есть мне не подходит, к сожалению... До того как спросить я уже искал (к сведению), и не только на этом форуме!!! Помогите, плиз!
Благодарю за внимание
...
Рейтинг: 0 / 0
15.10.2004, 15:59
    #32740780
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос изображения в MS SQL
Ну незнама , принцып то то тже ,
просто ну вот TTable и BDE ой как давно работал ,
а темболее с этим вообще так не работал.



 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
15.10.2004, 16:02
    #32740789
Sagaz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос изображения в MS SQL
JS, ну вот так бы сразу и сказал!

Благодарю за внимание
...
Рейтинг: 0 / 0
15.10.2004, 17:36
    #32741029
TParser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос изображения в MS SQL
TParser - хороший вопрос задал - все туда !
...
Рейтинг: 0 / 0
15.10.2004, 20:09
    #32741248
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос изображения в MS SQL
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 //--------------------------------------------------------------------------- 
bool file2field( Db::TField *field, String name_file )
{
    if( !FileExists( name_file ) )
        return false;
    assert(field);
    TBlobField *blob = (TBlobField *)field;
    blob->LoadFromFile( name_file );

     return true;
}

...
Рейтинг: 0 / 0
18.10.2004, 09:54
    #32742062
_Sania
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос изображения в MS SQL
Вобще-то строка:
MyField = new TBlobField(NULL);
выглядит довольно странно, может имелось в виду
MyField = new TBlobField(Table1);

В help например:

SQLDataSet1->Close();
TBlobField *T = new TBlobField(SQLDataSet1);
T->FieldName = "Images";
T->Name = SQLDataSet1->Name + T->FieldName;
T->Index = SQLDataSet1->FieldCount;
T->DataSet = SQLDataSet1;
SQLDataSet1->FieldDefs->UpDate();
SQLDataSet1->Open();

Но по-идее поле создавать совсем не нужно, т.е.

TBlobField *MyField;
MyField = (TBlobField*)Table1->FieldByName("picture");
...
Рейтинг: 0 / 0
18.10.2004, 10:39
    #32742143
Sagaz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос изображения в MS SQL
Привет! Огромное спасибо за помощь! Сработало без лишних понтов!

Код: plaintext
1.
2.
3.
4.
5.
Table1->Open();
TBlobField *MyField;
MyField = (TBlobField*)Table1->FieldByName("picture");
Table1->Edit();
MyField->LoadFromFile("D:\\data\\pic.bmp");
Table1->Post();

Я в вас верил, ребята! :-)
...
Рейтинг: 0 / 0
18.10.2004, 11:17
    #32742212
Sagaz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос изображения в MS SQL
Тут у меня попутный вопросец возник: почему LoadFromFile загружает только маленькие файлики. В 50 кило уже не лезет все с тем же отмазом 'Invalid BLOB length'. ???
...
Рейтинг: 0 / 0
19.10.2004, 13:49
    #32744430
Sagaz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос изображения в MS SQL
Ладно, на этот вопрос приходится отвечать самому... если конечно кому интересно! Короче, в BDE Administrator, в свойствах необходимой БД, даже если это MS SQL, нужно значения полей BLOB SIZE и BLOBS TO CACHE установить в необходимые значения, например 2048 если файлы до 2 Mb. Если я в чем то не прав пусть меня поправят...
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Перенос изображения в MS SQL / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]