100分求救!(100分)

  • 主题发起人 主题发起人 chiefz318
  • 开始时间 开始时间
C

chiefz318

Unregistered / Unconfirmed
GUEST, unregistred user!
在SQL SERVER2000中怎么用
insert into table () values()
插入jpg图片
 
insert into employees(LastName,FirstName,Photo)values('III','IIII',
0x151C2F00020000000D000E0014002100FFFFFFFF4269746D617020496D616765005061696E742E506963747572650001050000020000000700000050427275736800000000000000000020540000424D16540000000000007600000028000000C0000000DF0000000100040000000000A0530000CE0E0000D80E0000000000)
所以可以将图片用文件流保存为文本,好像SQLSERVER有一个工具可以执行文本文件的批命令
好像是bcp
 
image类型就可以了

数据库SQL Server,存放文件的字段类型Image
Create Table MyTable
(
FileName VarChar(20),
FileSource Image
)
存放文件到数据库

var FileName :String;FileName := ExtractFileName(OpenDialog1.FileName);with Query dobegin Close; Sql.Clear; Sql.Add('INSERT INTO MyTable VALUES (:FileName,:FileSource)'); ParamByName('FileName').AsString := FileName; ParamByName('FileSource').LoadFromFile(OpenDialog1.FileName,ftBolob); ExecSQL;end;



从数据库中取出文件

var FileName :String;begin with Query do begin Close; Sql.Clear; Sql.Add('SELECT * FROM MyTable WHERE FileName = '?''); Open; FileName := 'c:/'+FieldByName('FileName').AsString; (FieldByName('FileSource') AS TBlobField).SaveToFile(FileName); end;

 
Query1.Close;
Query1.SQl.Clear;
Query1.Add('Insert Into A Values (:B) '); //B为Blob字段
Query1.ParamByName('aaa').LoadFromFile('路径');
Query1.Execsql;
//-----------------------------
var a : TMemoryStream;
a:=TMemoryStream.Create;
image1.Picture.Bitmap.SaveToStream(a);
TBlobField(query1.FieldByName('aaa')).LoadFromStream(a);
query1.Post;
 
str_filename:='c:/ab.jpg';
adoquery1.close;
adoquery1.sql.clear;
adoquery1.SQL.Add('INSERT INTO 表名(Image) VALUES (:MImage)');
adoquery1.Parameters[0].LoadFromFile(str_filename,ftBloB);
adoquery1.ExecSQL;
这样就可以了,不知是否能获得分!不要耍人家哟!不然以后就不好再接触了,以后
也不会彼此信任对方了。
 
呵呵,虽然在提问以后的5分钟时间里我就自己解决了这个问题,但是还是给大家加分,感谢
大家的帮助!
 
多人接受答案了。
 
后退
顶部