| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Запись графического файла |
| Автор: NiJazz 2.2.2005, 21:52 | ||
Я делал так:
У меня при вызове ApplyUpdates (таблица CachedUpdates) возникает ошибка "Key Violation". Какие еще есть способы сохранить картинку? Assign? |
| Автор: Alex 2.2.2005, 22:36 |
| А поле в базе у тебя какого типа? |
| Автор: NiJazz 3.2.2005, 08:40 | ||
Graphic. Таблица Paradox, конечно. |
| Автор: User 3.2.2005, 12:52 |
| Можешь созранять картинку в BLOB поле или сохранять токо путь. Я раньше задавал такой же вопрос. Посмотри мой исходный код: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DBCtrls, Db, DBTables, Clipbrd, StdCtrls, ExtDlgs, ExtCtrls, BDE; type TForm1 = class(TForm) Table1: TTable; DataSource1: TDataSource; DBImage1: TDBImage; DBGrid1: TDBGrid; OpenPictureDialog1: TOpenPictureDialog; Button1: TButton; Table1ID: TAutoIncField; Table1NAME: TStringField; Table1COMEN: TMemoField; Table1GRAF: TGraphicField; DBNavigator1: TDBNavigator; Edit1: TEdit; Image1: TImage; Button2: TButton; Edit2: TEdit; procedure Button1Click(Sender: TObject); procedure DBGrid1CellClick(Column: TColumn); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin if OpenPictureDialog1.Execute then begin table1.edit; Table1GRAF.LoadFromFile(OpenPictureDialog1.FileName); Edit1.Text := OpenPictureDialog1.FileName; table1.post; end; end; procedure TForm1.DBGrid1CellClick(Column: TColumn); begin Image1.Picture.Bitmap.Assign(Table1GRAF); end; end. Добавлено @ 12:53 Или я не так что то понял? |
| Автор: NiJazz 3.2.2005, 13:26 |
| User Пожалуйста, используй теги для кода в будущем. |
| Автор: Vit 3.2.2005, 16:26 |
| Key Violation - это не с картинкой связано, а с добавлением неуникальной записи по первичному ключу... Убери эту строку (Table1.FieldByName('Field') as TGraphicField).LoadFromFile('File.bmp'); и у тебя всё равно будет возникать эта ошибка |
| Автор: Bes 4.2.2005, 07:54 |
| Почему бы не хранить файлы отдельно, а ссылки на эти файлы в поле. |