如何将图像插入SQL Server 2000表并查看该图像
使用TDBImage控件或在delphi中使用Fast-Report打印?
以下解决方案仅适用于SQL Server 2005 +
SELECT * FROM OPENROWSET(BULK N'C:\TestImage.jpg', SINGLE_BLOB)
答案 0 :(得分:0)
有一个IMAGE类型字段(应该在SQL Server 2000中可用):
CREATE TABLE MyTable (
ID INT PRIMARY KEY,
Picture IMAGE
)
将图像插入其中:
FDQuery1.SQL.Text := 'INSERT INTO MyTable (ID, Picture) VALUES (:ID, :Picture)';
FDQuery1.ParamByName('ID').AsInteger := 1;
FDQuery1.ParamByName('Picture').AsStream := TFileStream.Create('C:\Image.jpg', fmOpenRead);
FDQuery1.ExecSQL;
上面创建的流将在查询未准备好后或下一次赋值后释放。
通过TDBImage和TDataSource删除对您表单的TFDQuery控制权。现在连接图像的这些组件和设置源字段:
DataSource1.DataSet := FDQuery1;
DBImage1.DataSource := DataSource1;
DBImage1.DataField := 'Picture';
查询数据,例如:
FDQuery1.SQL.Text := 'SELECT Picture FROM MyTable WHERE ID = :ID';
FDQuery1.ParamByName('ID').AsInteger := 1;
FDQuery1.Open;
答案 1 :(得分:-2)
使用TADOQuery将图像插入表中
Create Table new_table(
var1...,
var2...,
.,
.,
.,
image1 as type image ,
)
将以下内容添加到您的用户界面: Jpeg(有时默认情况下未添加)
将以下对象添加到您的项目中:
TOpenPictureDialog (oppCompanyLogo)
TImage (imgCompanyLogo)
TButton
按钮的事件如下:
if oppCompanyLogo.Execute then
begin
imgCompanyLogo.Picture.LoadFromFile(oppCompanyLogo.FileName);
end;
TIamge
(imgCompanyLogo)对象; 添加
var JPG : TJPEGImage`
JPG := TJPEGImage.Create;
JPG.Assign(imgCompanyLogo.Picture);
图像现在已分配给Jpeg图像JPG,
现在,我们将使用TADOQuery
简单地将图像添加到表中:
假设-您已经创建了与数据库的连接(要进行设置,请创建新帖子)
with TADOQuery_name do
begin
Close;
Tablename := tablename1;
Open;
Insert;
FieldByName('Var1')...;
FieldByName('Var2')...;
.
.
.
FieldByName('Image1').Assign(JPG);
Post;
Close;
End;
简单...