Q&A

  • 오픈된 파일을 디비에 저장하는법좀 갈켜주세요.. [급]
디비에다 파일 저장할때 오픈되지 않은 파일은 아래소스와 같이 하면 잘 됩니다.



근데 아래한글이나 캐드같은데서 해당 파일을 열고 있을때는 파일을 열수 없다는 에러 메시지가 나와서 저장이 안되네요.



열고 있는 파일이라도 저장 할수 있는 방법좀 갈켜주세요... ㅠㅠ 부탁함다...



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;

4  COMMENTS
  • Profile
    조덕진 2001.02.01 19:49
    안녕하세요. 델초보 조덕진입니다.



    이미 오픈된 파일을 임시파일로 복사하신 후 저장하시면 될 것 같은데요.

    아니면, 읽기전용으로 오픈을 해서 저장을 하거나요.



    델초보의 허접 답변입니다... ^^;



    그럼...





    김성준 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;

  • Profile
    김성준 2001.02.01 21:09
    열고 있는 파일이 꽤 큰것이라 그 방법대로 했다가는 저 모가지입니다.. 파일 큰건 100메가가 넘기도 하거든요...



    다른 방법 아시는분 없나여???



    조덕진 wrote:

    > 안녕하세요. 델초보 조덕진입니다.

    >

    > 이미 오픈된 파일을 임시파일로 복사하신 후 저장하시면 될 것 같은데요.

    > 아니면, 읽기전용으로 오픈을 해서 저장을 하거나요.

    >

    > 델초보의 허접 답변입니다... ^^;

    >

    > 그럼...

    >

    >

    > 김성준 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;

  • Profile
    권영길 2001.02.01 23:26
    fmOpenRead or fmShareDenyNone

    로 오픈해 보세요.



    김성준 wrote:

    > 열고 있는 파일이 꽤 큰것이라 그 방법대로 했다가는 저 모가지입니다.. 파일 큰건 100메가가 넘기도 하거든요...

    >

    > 다른 방법 아시는분 없나여???

    >

    > 조덕진 wrote:

    > > 안녕하세요. 델초보 조덕진입니다.

    > >

    > > 이미 오픈된 파일을 임시파일로 복사하신 후 저장하시면 될 것 같은데요.

    > > 아니면, 읽기전용으로 오픈을 해서 저장을 하거나요.

    > >

    > > 델초보의 허접 답변입니다... ^^;

    > >

    > > 그럼...

    > >

    > >

    > > 김성준 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;

  • Profile
    김성준 2001.02.01 23:36
    급한 마음에 제대로 해보지도 않고 번거롭게 해 드렸네요...



    조금만 더 여유를 갖고 찾아보면 되는걸 마음이 급하다보니.. ^^;



    암튼 덕분에 살았습니다. 제겐 구세주군요.. ^.^



    너무너무 고맙구요.. 앞으로도 델초보들을 위해서 많이 힘써 주세요..