将jpg文件以二进制格式读取后,存在sqlserver的image字段中就行了。
解决方案 »
- 子查询结果为多个值怎么转换成一条SQL语句
- 关于存储过程中sql字符串连接的问题,谢谢大家
- 当只有begin tran和commit tran时会不会全部回滚?
- 计算机密码修改了之后,SQL数据库启动不了,因为我在安装的时候选择域用户帐户administrator,不是本地系统帐户。
- 列Field1可以为空,如果输入则不能重复
- 如何保存DTS包?
- 数据库设计命名问题
- 熟悉SQL SERVER 的朋友请进来看一下。有一些问题请教急急!!
- 高分:如何解决两个数据库数据完全同步的问题?
- 百思不解的存储过程问题?
- 十万火急! Applet 连接SQL Server数据库超级问题
- 请问BOOL型数据在Oeacle中用那种数据类型表示?
procedure TForm1.ImageIntoDBBitBtnClick(Sender: TObject);
begin
try
with Query1 do
begin
close;
sql.clear;
sql.add('insert into img (imga) values(:imag)');
end;
try
if FileName<>'' then
ParamByName('Img').LoadfromFile(FileName,ftGraphic)
else
ParamByName('Img') .asBlob:='';
Query1.ExecSQL;
except
ShowMessage('图片保存出错!');
exit;
end;
except
end;
end;
//读取
procedure TForm1.ImageFromDBBitBtnClick(Sender: TObject);
var
m_jpegstream:tmemorystream;
begin
with Query1 do
begin
close;
sql.clear;
sql.Add('select imga from img');
try
Open;
except
exit;
end;
end;
if (Query1.FieldByName('imga') as tblobfield).asstring='' then
begin
exit;
end
else
begin
try
try
m_jpegStream:=TMemoryStream.Create;
(Query1.fieldbyname('imga') as TBlobField).SaveToStream(m_JpegStream);
m_JpegStream.Position:=0;
try
image2.Picture.Graphic:=nil;
image2.Picture.Graphic:=TJpegImage.Create;
image2.Picture.Graphic.LoadFromStream(m_JpegStream); //读Jpeg
except
Image2.Picture.Bitmap.LoadFromStream(m_JpegStream); //读Bmp
end;
except
end;
finally
m_JpegStream.Free;
Query1.Close;
Query1.UnPrepare;
end;
end;
end;
//BMP转换为JPG
procedure TStuXXSLForm.LoadImageBitBtnClick(Sender: TObject);
var
MyJpeg:TJpegImage;
begin
inherited;
if OpenPictureDialog1.Execute then
begin
FileName:=OpenPictureDialog1.FileName;
Image1.Picture.LoadFromFile(FileName);
if ExtractFileExt(FileName)='.Bmp' then
begin
MyJpeg:= TJpegImage.Create;
MyJpeg.Assign(Image1.Picture.Bitmap);
FileName:='Photo.Jpg';
MyJpeg.SaveToFile(FileName);
MyJpeg.Free;
end;
end;
end;
to w_zigang:
如何用流的形式存贮?
前端程式:(我用VB)Set cn = New ADODB.Connection
cn.Open "Provider=SQLOLEDB;data Source=NIPSAN;Initial Catalog=Northwind;User Id=sa;Password=;"Set rs = New ADODB.Recordset
rs.Open "Select * from tblTest", cn, adOpenKeyset, adLockOptimisticSet mstream = New ADODB.Streammstream.Type = adTypeBinary
mstream.Openrs.AddNew
mstream.LoadFromFile "C:\zhou.jpg" '把C:\zhou.jpg存進入資料庫
rs.Fields("Word") = mstream.Readrs.Updaters.Close
cn.Close把JPG文檔從資料庫中讀出來:
mstream.Type = adTypeBinary
mstream.Openmstream.Write rs.Fields("Word").Value
mstream.SaveToFile "c:\test.jpg", adSaveCreateOverWrite