Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > DataBaseImage MSSQL Image


Автор: A5uKa 21.12.2009, 11:27
Код

DatabaseBaseImage->Picture->Bitmap

тут картинка, и надо её в поле ... (не обязательно Image) таблицы MSSQL

Вопрос простой : Как  smile 

Автор: mrbrooks 21.12.2009, 14:12
Цитата(A5uKa @  21.12.2009,  11:27 Найти цитируемый пост)
Как

blob-поле

Автор: A5uKa 21.12.2009, 14:54
Цитата

blob-поле

SET Logo="+ DBI->Picture->Bitmap->BlobПоле
 smile 
memory stream надо ?

Автор: mrbrooks 21.12.2009, 15:06
A5uKa, 
Цитата(A5uKa @  21.12.2009,  14:54 Найти цитируемый пост)
memory stream надо ? 

1. Для запросов к БД используй параметры.
2. Потомка от TStream - который сольет содержание файла в массив байт. TMemoryStream, TFileStream.

Добавлено через 2 минуты и 19 секунд
Есть и другой подход, а именно работа с классом TField и его потомками. В какой то степени он проще, в свое время я его использовал, но со временем отказался в пользу параметров. Поищи по разделу. 100% были темы про работу с blob + image

Автор: A5uKa 21.12.2009, 16:39
а сам параметр как 
DECLARE Logo ...
какого типа, если я конечно правильно понимаю

Автор: mrbrooks 21.12.2009, 16:49
Цитата(A5uKa @  21.12.2009,  16:39 Найти цитируемый пост)
а сам параметр как 
DECLARE Logo ...
какого типа, если я конечно правильно понимаю 

нет. сами параметры создаются в TXXXQuery

Добавлено через 4 минуты и 14 секунд
http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/ADODB_TADOQuery_Parameters.html

Автор: A5uKa 21.12.2009, 17:07
именно ADO...
.Попробую.
Если создавать его на форме он вообще говорит, что значение не соответствует типу или тип значению или такого не бывает или такого вообще нету. И всёже когда я его так создаю нужно мне делать Update как с делкарированным через @Param ?
И... попробую залогировать ошибки более конструктивно smile

Автор: A5uKa 22.12.2009, 08:51
Код

TParameter* Param;
Param = ADOQuery1->Parameters->ParamByName("Logo");


Цитата

can't find param by name 'Logo'



Автор: mrbrooks 22.12.2009, 11:11
Нет. Смотри допустим в таблицу необходимо вставить целое число. Это делается так:
Код

        qTest->Close();
        qTest->SQL->Clear();
        qTest->SQL->Text = "INSERT INTO test_table (val) VALUES (:val);";
        qTest->Parameters->Items[0]->Value = 777;
        qTest->ExecSQL();

Автор: A5uKa 22.12.2009, 12:25
Спасибо, помогло.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)