Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.01.02;
Скачать: CL | DM;

Вниз

При щелчке на ячейке DBGrid загружать изображение в Image1 из БД   Найти похожие ветки 

 
Первокурсница ©   (2010-10-09 13:41) [0]

И снова здравствуйте... :)
У меня клиентское приложение по продаже автомобилей.
Автомобили, имеющиеся в наличии выводятся в DBGrid.
При щелчке на ячейке с названием машины на форме должна возникать фотография этой машины, которая должна загружаться из БД (объект Image1), в БД есть поле Photo (тип-текстовый), где прописан путь к изображению (напр.: L:\Проектир_ИС_лаб\bmw.bmp). Как это сделать, подскажите пожалуйста! :(


 
Anatoly Podgoretsky ©   (2010-10-09 15:49) [1]

> Первокурсница  (09.10.2010 13:41:00)  [0]

LoadFromFile


 
Первокурсница ©   (2010-10-09 16:01) [2]

unit LAB6Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ExtCtrls, Buttons, RpRender, RpRenderHTML, RpCon,
 RpConDS, RpDefine, RpRave, DB, ADODB, Grids, DBGrids;

type
 TForm1 = class(TForm)
   DBGrid1: TDBGrid;
   RvProject1: TRvProject;
   RvDataSetConnection1: TRvDataSetConnection;
   RvRenderHTML1: TRvRenderHTML;
   BitBtn1: TBitBtn;
   BitBtn2: TBitBtn;
   Memo1: TMemo;
   BitBtn3: TBitBtn;
   RvProject2: TRvProject;
   RvDataSetConnection2: TRvDataSetConnection;
   Image1: TImage;
   Label1: TLabel;
   ADOConnection1: TADOConnection;
   ADOQuery1: TADOQuery;
   ADOQuery2: TADOQuery;
   DataSource1: TDataSource;
   DataSource2: TDataSource;
   procedure BitBtn1Click(Sender: TObject);
   procedure DBGrid1CellClick(Column: TColumn);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject); {информация о моделях, имеющихся в наличии}
begin
ADOQuery1.Active:=False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add("SELECT Name, Price, Data, Comments, Photo");
ADOQuery1.SQL.Add("FROM Table1");
ADOQuery1.Open;
ADOQuery1.Active:=True;
end;

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
Label1.Caption:=ADOQuery1.FieldByName("Name").AsString;
Memo1.Lines.Text:=ADOQuery1.FieldByName("Comments").AsString;
Image1.Picture.LoadFromFile(ADOQuery1.FieldByname("Photo").AsString);
end;
end.

А также тоже саме только
procedure TForm1.DBGrid1CellClick(Column: TColumn);
var
FN: string;
begin
Label1.Caption:=ADOQuery1.FieldByName("Name").AsString;
Memo1.Lines.Text:=ADOQuery1.FieldByName("Comments").AsString;
FN:=ADOQuery1.FieldByName("Photo").AsString;
if FileExists(FN) then
Image1.Picture.LoadFromFile(FN);
end;

Я пыталась сделать, только програ вылетает с ошибкой raised exception class Einvalid Graphic with message "Bitmap image is not valid".
В БД 25 записей и соответственно 25 разных фотографий разных машин.


 
Первокурсница ©   (2010-10-09 16:06) [3]

Всё понятно. Просто был повреждённый файл. Спасибо за отклик!


 
HF-Trade ©   (2010-10-09 16:09) [4]

FN:=ADOQuery1.FieldByName("Photo").AsString;
....

Edit1.Text := FN;

Копи-пасте сюда, из Edit"а того, что попало в FN.



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

Текущий архив: 2011.01.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
15-1284710570
stenfit
2010-09-17 12:02
2011.01.02
перевод фразы


3-1250668168
Mike Kouzmine
2009-08-19 11:49
2011.01.02
Выбор записей


2-1286522659
>|
2010-10-08 11:24
2011.01.02
Вопрос к знатокам DevExpress


2-1286465222
lewka
2010-10-07 19:27
2011.01.02
Получение пути к файлу


15-1284928164
Юрий
2010-09-20 00:29
2011.01.02
С днем рождения ! 20 сентября 2010 понедельник