插入操作用ADOCommand,添加一个参数'file'然后这样写: procedure TExceltest.BitBtn1Click(Sender: TObject); var filestream: TFileStream; begin if OpenDialog1.Execute then //提交答案文件 begin filestream := TFileStream.Create(Opendialog1.FileName,fmOpenRead); with ADOCommand1 do begin Parameters.ParamByName('file').LoadFromStream(filestream,ftBlob);//传文件 CommandType := cmdText ; CommandText := 'insert into 表 values('''+trim(edit3.Text)+''',:file,'''+trim(edit1.Text)+''','''+datetimetostr(Now)+''',''Excel文件'')'; try Execute; MessageBox(Handle,'文件存入成功!','系统',mrNone+MB_ICONINFORMATION); except on e:exception do showmessage(e.Message ); end; filestream.Free ; end; end; end;
就行了。
但LoadFromStream(Stream: TStream);只提供一个参数啊,编译不通过的啊
procedure TExceltest.BitBtn1Click(Sender: TObject);
var
filestream: TFileStream;
begin
if OpenDialog1.Execute then //提交答案文件
begin
filestream := TFileStream.Create(Opendialog1.FileName,fmOpenRead);
with ADOCommand1 do
begin
Parameters.ParamByName('file').LoadFromStream(filestream,ftBlob);//传文件
CommandType := cmdText ;
CommandText := 'insert into 表 values('''+trim(edit3.Text)+''',:file,'''+trim(edit1.Text)+''','''+datetimetostr(Now)+''',''Excel文件'')';
try
Execute;
MessageBox(Handle,'文件存入成功!','系统',mrNone+MB_ICONINFORMATION);
except
on e:exception do
showmessage(e.Message );
end;
filestream.Free ;
end;
end;
end;