디비에다 파일 저장할때 오픈되지 않은 파일은 아래소스와 같이 하면 잘 됩니다.
근데 아래한글이나 캐드같은데서 해당 파일을 열고 있을때는 파일을 열수 없다는 에러 메시지가 나와서 저장이 안되네요.
열고 있는 파일이라도 저장 할수 있는 방법좀 갈켜주세요... ㅠㅠ 부탁함다...
with Table1 do
begin
Open;
Insert;
// 첫번째 방법
Table1Data_No.Value := Edit1.Text;
Table1Node_No.Value := Current_Node_Number;
FileStream := TFileStream.Create(Full_Name, fmOpenRead);
BlobStream := TBlobStream.Create(Table1data_image, bmReadWrite);
BlobStream.Seek(0, soFromBeginning);
BlobStream.Truncate;
BlobStream.CopyFrom(FileStream, FileStream.Size);
FileStream.Free;
BlobStream.Free;
{
// 두번째 방법 // 둘다 안되요..ㅠㅠ
Table1Data_No.Value := Edit1.Text;
Table1Node_No.Value := Current_Node_Number;
TBlobField(Table1data_image).LoadFromFile(Full_Name);
}
Post;
Close;
end;
이미 오픈된 파일을 임시파일로 복사하신 후 저장하시면 될 것 같은데요.
아니면, 읽기전용으로 오픈을 해서 저장을 하거나요.
델초보의 허접 답변입니다... ^^;
그럼...
김성준 wrote:
> 디비에다 파일 저장할때 오픈되지 않은 파일은 아래소스와 같이 하면 잘 됩니다.
>
> 근데 아래한글이나 캐드같은데서 해당 파일을 열고 있을때는 파일을 열수 없다는 에러 메시지가 나와서 저장이 안되네요.
>
> 열고 있는 파일이라도 저장 할수 있는 방법좀 갈켜주세요... ㅠㅠ 부탁함다...
>
> with Table1 do
> begin
> Open;
> Insert;
> // 첫번째 방법
> Table1Data_No.Value := Edit1.Text;
> Table1Node_No.Value := Current_Node_Number;
> FileStream := TFileStream.Create(Full_Name, fmOpenRead);
> BlobStream := TBlobStream.Create(Table1data_image, bmReadWrite);
> BlobStream.Seek(0, soFromBeginning);
> BlobStream.Truncate;
> BlobStream.CopyFrom(FileStream, FileStream.Size);
> FileStream.Free;
> BlobStream.Free;
> {
> // 두번째 방법 // 둘다 안되요..ㅠㅠ
> Table1Data_No.Value := Edit1.Text;
> Table1Node_No.Value := Current_Node_Number;
> TBlobField(Table1data_image).LoadFromFile(Full_Name);
> }
> Post;
> Close;
> end;