Форум: "Начинающим";
Текущий архив: 2011.01.02;
Скачать: [xml.tar.bz2];
ВнизПри щелчке на ячейке 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c