|
쿼리문이 틀렸더군요; 해결했습니다. 감사합니다.;; ;ㅁ;
insert into FILE_LIST (DATA) values (:DATA)
-----------------------------------------------------------------------------
단순히 그렇게만 하면 에러가 나더군요 ㅜㅜ
DBQuery->Connection = DBConn;
DBQuery->Parameters->ParamByName("DATA")->LoadFromStream(stream,ftBlob);
DBQuery->ExecSQL();
---------------------------
Debugger Exception Notification
---------------------------
Project Miles.exe raised exception class EDatabaseError with message 'Parameter 'DATA' not found'.
---------------------------
Break Continue Help
---------------------------
그래서 SQL 쿼리도 같이 넣어보았습니다.
DBQuery->Connection = DBConn;
DBQuery->SQL->Clear();
DBQuery->SQL->Add("insert into (DATA) FILE_LIST (:DATA)");
DBQuery->Parameters->ParamByName("DATA")->LoadFromStream(stream,ftBlob);
DBQuery->ExecSQL();
이렇게 하니 '(' 근처에서 에러가 난다고 하는군요;; 맞게한건데 단지 쿼리문이 잘못된 것인가요?;
ㅜㅜ
civilian,안영제 님이 쓰신 글 :
: with ADOQuery1 do
: begin
: Parameters.ParamByName('name').Value := '안영제';
: Parameters.ParamByName('contents').LoadFromFile('c:\안영제.jpg, ftBLOB);
: ExecSQL;
: end;
:
:
: 미루 님이 쓰신 글 :
: : 안녕하세요.; 디비땜시 무지 고생하다 이렇게 질문을 올립니다.
: :
: : 현재 제 디비는 ms-sql을 사용하고 있는데요.
: :
: : 코딩상의 문제로 디비가 점점 느려지고 있습니다.;;
: :
: : 현재 blob 데이터를 저장할때 이런 방법을 쓰고 있습니다.
: :
: : 테이블은 FILE_LIST 이고 그안에 int 형 FILE_CD (pkey) 와 blob형 DATA 필드가 있습니다.
: : TADOTable *DBTable = new TADOTable(this);
: : DBTable->Connection = DBConn;
: : DBTable->TableName = _T("File_List");
: : DBTable->Active = false;
: : DBTable->Open();
: : DBTable->Append();
: : ((TBlobField*)DBTable->FieldByName("Data"))->LoadFromStream(stream);
: : DBTable->Post();
: :
: : 이렇게 해서 넣고 있었는데요..
: :
: : 저장할수록 점점 속도가 느려지는 겁니다.;;
: :
: : 그래서 살펴보니 DBTable->Open(); 에서 시간을 잡아먹고 있더라고요.
: :
: : 생각해보니 FILE_LIST테이블 안의 모든 데이터를 불러오게 되더군요;
: :
: : 그래서 겁나게 느려지는 겁니다. ㅜㅜ
: :
: : 뭐 좋은 방법 없을까요?;
|