DLL文件存入SQL SERVER的问题

lhesquel 2003-08-10 07:11:28
请教各位高手,怎样把DLL文件存入SQL Server,本人折腾了几天了就是没有搞出来,如果有高手能搞定,一定狂加分。
...全文
47 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhesquel 2003-08-10
  • 打赏
  • 举报
回复
好了,非常感谢!折腾了好几天原来就少了一个文件名,
huojiehai 2003-08-10
  • 打赏
  • 举报
回复
在数据库是都显示为0x4D5A50000200000004000F00FFFF0000B80000000000000040001A00000000000000000000000000000000000000000000000000000000000000000000010000BA10000E1FB409CD21B8014CCD219090546869732070726F6772616D206D7573742062652072756E20756E6465722057696E33320D0A243700000000000000

是对的

你把这句改一下看看
TBlobField(Query.FieldByName('BOLB_FILE')).SaveToFile(ExtractFilePath(Application.ExeName) + 'aa.dll');
lhesquel 2003-08-10
  • 打赏
  • 举报
回复
我也是这样写的,但是不行,DLL文件能写进去,但是无论你写那个DLL文件,在数据库是都显示为0x4D5A50000200000004000F00FFFF0000B80000000000000040001A00000000000000000000000000000000000000000000000000000000000000000000010000BA10000E1FB409CD21B8014CCD219090546869732070726F6772616D206D7573742062652072756E20756E6465722057696E33320D0A243700000000000000

代码如下:
procedure TForm1.Button3Click(Sender: TObject);
var
Query : TAdoQuery;
begin
if OpenDialog.Execute then
begin
Query := TAdoQuery.Create(nil);
Query.Connection := Unit_DataSource.DataModule2.ADOConnection1;
try
Query.Close;
Query.SQL.Clear;
Query.SQL.Add('Select * from T_BOLBFILE');
Query.Open;
Query.Insert;
Query.FieldByName('File_Name').AsString := EditFilePath.Text;
TBlobField(Query.FieldByName('BOLB_FILE')).LoadFromFile(OpenDialog.FileName);
Query.FieldByName('File_Version').AsString := EditOldVersion.Text;
Query.Post;
Query.close;
ShowMessage('Upload Successed!');
except
Raise;
Query.close;
end;
end;
Query.Free;
end;

还有下载根本就报错,系统提示不能建立文件,
代码如下:
procedure TForm1.Button2Click(Sender: TObject);
var
Query : TAdoQuery;
begin

Query := TAdoQuery.Create(nil);
Query.Connection := Unit_DataSource.DataModule2.ADOConnection1;
try
Query.Close;
Query.SQL.Clear;
Query.SQL.Add('Select * from T_BOLBFILE');
Query.Open;
while not Query.Eof do
begin
showmessage(Query.FieldValues['File_Name']);
TBlobField(Query.FieldByName('BOLB_FILE')).SaveToFile(ExtractFilePath(Application.ExeName));
Query.Next;
end; // while
Query.close;
ShowMessage('DownLoad Successed!');
except
Raise;
Query.close;
end;
Query.Free;
end;
请各位高手解答,谢谢
huojiehai 2003-08-10
  • 打赏
  • 举报
回复

最好这样,同时适应Oracle和MSSQL
增加:


Query.Close;
Query.SQL.Clear;
Query.SQL.Add('INSERT INTO myimages(FileName,pic) VALUE(''Image1'',:pic)');
Query.ParamByName('pic').LoadFromFile('D:\Hasd.dll',ftBlob);
Query.ExecSQL;

 

修改:

Query.Close;
Query.SQL.Clear;
Query.SQL.Add('UPDATE myimages SET pic=:pic WHERE filename=''dll2''');
Query.ParamByName('pic').LoadFromFile('D:\Hasd2.dll',ftBlob);
Query.ExecSQL;


如果问题得到解决,别忘了结贴呀!!!!!!
huojiehai 2003-08-10
  • 打赏
  • 举报
回复
在表中建一个Image类型的字段field1
query1.close;
query1.SQL.text := 'select * from 你的表';
query1.Open;
query1.edit;
TBlobField(query1.fieldbyname('field1').loadfromfile('d:\aa.dll');
query1.post;

保存
TBlobField(query1.fieldbyname('field1').Savetofile('d:\bb.dll');

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧