Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как работать с картинками в базе ACCESS 
:(
    Опции темы
freek
Дата 20.7.2005, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 18.7.2005

Репутация: нет
Всего: нет



Вопорос в следующем в Access'ой базе нужно хранить фотографии и
выводить в окне на форме.. Как это осуществить???
ПРОбовал ставить на форму DBimage и связать с полем в базе, но он ругается
"bitmap image is not valid" и ничего не выводит smile
PM MAIL   Вверх
ТоляМБА
Дата 21.7.2005, 06:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 3
Всего: 252



Если никто не поможет - воспользуйся советом Akin'ы от сюда
http://forum.vingrad.ru/index.php?showtopic=30093&hl=blob
PM   Вверх
chaos
Дата 21.7.2005, 06:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: нет
Всего: 44



вот код чтения иконок бд
(CBuilder)
Код

void __fastcall TForm1::FormCreate(TObject *Sender)
{
    ImageList1->Clear();
    ComboBox1->Clear();

    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Text = "SELECT Name, Obj FROM Icons";

    __try
    {
        TIcon *icon = new TIcon;

        try
        {
            ADOQuery1->Open();
            ADOQuery1->First();


            while(!ADOQuery1->Eof)
            {

                ComboBox1->Items->Add(ADOQuery1->FieldByName("Name")->AsString);

                icon->LoadFromStream(ADOQuery1->CreateBlobStream(ADOQuery1->FieldByName("Obj"), bmRead));
                ImageList1->AddIcon(icon);

                ADOQuery1->Next();
            }

        }
        catch(Eception &E)
        {
            ShowMessage(E.Message);
        }
    }
    __finally
    {
        ADOQuery1->Close();
        delete icon;
    }
}


а вот блин как записать непомню(тк нету на работе ни хелпа борландового)
помню что использовал TADOCommand
чето примерно так
Код

ADOCmd->CommandText = L"INSERT INTO table (name, img) VALUES(:nme, :img) ";
ADOCmd->Parameters->ParamByName(L"nme")->Value = "name";
ADOCmd->Parameters->ParamByName(L"img")->LoadFromStreаm....
ADOCmd->Excecute();



мой тебе совет: смотри методы SaveToStream у компонентов TImage... если картинка у тя на форме, и TParameter.LoadFromStream
можно сразу загружать из файла TParameter.LoadFromFile


Если где чето не так поправте

Это сообщение отредактировал(а) chaos - 21.7.2005, 06:57
PM WWW   Вверх
offline
Дата 21.7.2005, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 474
Регистрация: 7.2.2005

Репутация: 7
Всего: 7



PM MAIL   Вверх
freek
Дата 21.7.2005, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 18.7.2005

Репутация: нет
Всего: нет



мене нужно это в Delphi делать а не в С
PM MAIL   Вверх
chaos
Дата 21.7.2005, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: нет
Всего: 44



вот приер добавления иконки
Код

                TMemoryStream *IcoStream;

                __try
                {
                    IcoStream = new(TMemoryStream);
                    IcoStream->Clear();

                    try
                    {
                        Image1->Picture->Icon->SaveToStream(IcoStream);

                        Form1->ADOCmd->CommandText = "INSERT INTO icons (Name, Obj) VALUES(:nme, :ico)";

                        Form1->ADOCmd->Parameters->ParamByName(L"nme")->Value = sNameIcon.c_str();
                        Form1->ADOCmd->Parameters->ParamByName(L"ico")->LoadFromStream(IcoStream, ftGraphic);

                        Form1->ADOCmd->Execute();

                        Form1->LoadIconInCB();
                    }
                    catch (Exception &E)
                    {
                        MessageDlg(E.Message, mtError, TMsgDlgButtons() << mbOK, 0);
                    }
                }
                __finally
                {
                    delete IcoStream;
                }
            }


PM WWW   Вверх
chaos
Дата 22.7.2005, 06:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: нет
Всего: 44



Цитата(freek @ 21.7.2005, 19:20)
мене нужно это в Delphi делать а не в С

замент -> на . и будет тебе на делфи, в чем проблема то?

PM WWW   Вверх
freek
Дата 22.7.2005, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 18.7.2005

Репутация: нет
Всего: нет



А есть у когонить пример рабочей программы.. с аксессовской базой (по теме) и исходник к ней .. буду очень презнателен.... smile

З.Ы. НАдо позарез, а руки видать кривые smile
PM MAIL   Вверх
offline
Дата 23.7.2005, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 474
Регистрация: 7.2.2005

Репутация: 7
Всего: 7



Я же дал ссылку http://forum.vingrad.ru/index.php?showtopi...=0&#entry369819 тут все работает только замени ImgBMP : TBitmap; на ImgBMP : TJPEGImage;
Если не разберешься и очень уж сильно надо, то пиши на e-mail он в нике
PM MAIL   Вверх
freek
Дата 25.7.2005, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 18.7.2005

Репутация: нет
Всего: нет



kirilllius спасибки за пример....
Вопрос еще вот в чем.. работа идет через поток, можно обойтись как-нибудь без него??? если нет то где можно почитать про потоки(знаний тоже 0) ???
PM MAIL   Вверх
offline
Дата 25.7.2005, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 474
Регистрация: 7.2.2005

Репутация: 7
Всего: 7



Delphi help или поисковик в интернете
PM MAIL   Вверх
КУБ
Дата 30.9.2006, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 5.6.2006
Где: Украина, Донецк

Репутация: нет
Всего: нет



Всё это хорошо . Примеры и т.д. и т.п. 

Кто нибудь может вобще объяснить причину почему выдаётся сообщение "bitmap image is not valid" ????
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0518 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.