给一段存储二进制的代码给你,你改一下就可以了
procedure Tfrmwxht.Btn_tjhtwjClick(Sender: TObject);
Var ms:TMemoryStream;
i:Integer;
s:string;
begin
//检查是否具有权限
With Aqry_w do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM WXHTQX WHERE DLYH=:DLYH');
Parameters.ParamByName('DLYH').Value:=frmLogin.Yonghu;
Prepared:=true;
Open;
end;//With Aqry_w do
if (Aqry_w.RecordCount=0) then
begin
Application.MessageBox('你没有该权限!如有需要,请联系管理员','提示',48);
Exit;
end;
if not(Aqry_w['TJHTWJ']) then
begin
Application.MessageBox('你没有该权限!如有需要,请联系管理员','提示',48);
Exit;
end; if Aqry_s.IsEmpty then
begin
Application.MessageBox('数据为空!请选择项目名称','提示',48);
Exit;
end;//if Aqry_s.IsEmpty then if OpenDialog1.Execute then
begin
B_Change:=false;
s:='';
//取得文件名
for i:=1 to length(ExtractFileName(OpenDialog1.FileName)) do
begin
if ExtractFileName(OpenDialog1.FileName)[i]='.' then Break;
s:=s+ExtractFileName(OpenDialog1.FileName)[i];
end;
// showmessage(s);
frmhtmc.Edt_htmc.Text:=s;
frmhtmc.ShowModal;
if B_change then
begin
ms:=TMemoryStream.Create;
ms.LoadFromFile(OpenDialog1.FileName);
ADOConnection1.BeginTrans;
Try
Panel7.Caption:='文件正在上传服务器.........';
With Aqry_w do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO HTWJ_WX (WJMC,XYBH,WORKFILE) VALUES(:WJMC,:XYBH,:WORKFILEE)');
Parameters.ParamByName('WJMC').Value:=Trim(frmhtmc.Edt_htmc.Text);
Parameters.ParamByName('XYBH').Value:=Aqry_s['XYBH'];
Parameters.ParamByName('WORKFILEE').LoadFromStream(ms,ftBlob);
Prepared:=true;
Execsql;
end;//With ADOQuery1 do
ms.Free;
ADOConnection1.CommitTrans;
Panel7.Caption:='文件上传完毕!';
Except
ADOConnection1.RollbackTrans;
ms.Free;
Application.MessageBox('文件上传服务器失败!','提示',48);
end;//Try
end;//if B_change then
end;// if OpenDialog1.Execute then
// showmessage(frmlogin.ConnctionString);
end;
procedure Tfrmwxht.Btn_tjhtwjClick(Sender: TObject);
Var ms:TMemoryStream;
i:Integer;
s:string;
begin
//检查是否具有权限
With Aqry_w do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM WXHTQX WHERE DLYH=:DLYH');
Parameters.ParamByName('DLYH').Value:=frmLogin.Yonghu;
Prepared:=true;
Open;
end;//With Aqry_w do
if (Aqry_w.RecordCount=0) then
begin
Application.MessageBox('你没有该权限!如有需要,请联系管理员','提示',48);
Exit;
end;
if not(Aqry_w['TJHTWJ']) then
begin
Application.MessageBox('你没有该权限!如有需要,请联系管理员','提示',48);
Exit;
end; if Aqry_s.IsEmpty then
begin
Application.MessageBox('数据为空!请选择项目名称','提示',48);
Exit;
end;//if Aqry_s.IsEmpty then if OpenDialog1.Execute then
begin
B_Change:=false;
s:='';
//取得文件名
for i:=1 to length(ExtractFileName(OpenDialog1.FileName)) do
begin
if ExtractFileName(OpenDialog1.FileName)[i]='.' then Break;
s:=s+ExtractFileName(OpenDialog1.FileName)[i];
end;
// showmessage(s);
frmhtmc.Edt_htmc.Text:=s;
frmhtmc.ShowModal;
if B_change then
begin
ms:=TMemoryStream.Create;
ms.LoadFromFile(OpenDialog1.FileName);
ADOConnection1.BeginTrans;
Try
Panel7.Caption:='文件正在上传服务器.........';
With Aqry_w do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO HTWJ_WX (WJMC,XYBH,WORKFILE) VALUES(:WJMC,:XYBH,:WORKFILEE)');
Parameters.ParamByName('WJMC').Value:=Trim(frmhtmc.Edt_htmc.Text);
Parameters.ParamByName('XYBH').Value:=Aqry_s['XYBH'];
Parameters.ParamByName('WORKFILEE').LoadFromStream(ms,ftBlob);
Prepared:=true;
Execsql;
end;//With ADOQuery1 do
ms.Free;
ADOConnection1.CommitTrans;
Panel7.Caption:='文件上传完毕!';
Except
ADOConnection1.RollbackTrans;
ms.Free;
Application.MessageBox('文件上传服务器失败!','提示',48);
end;//Try
end;//if B_change then
end;// if OpenDialog1.Execute then
// showmessage(frmlogin.ConnctionString);
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货