|
안녕하세요^^
DB에서 BLOB형 데이타를 읽어와서 값을 조정한 뒤에 다시 입력하려고 하는데요.
TBlobStream으로 스트림형을 만들때 bmReadWrite로 하면 에러가 나네요.
Project Project2.exe raised exceptoion class EDatabaseError with message 'Query1 : Dataset not in edit or insert mode'. Process stopped. Use Step or Run to continue <-에러메시지입니다
bmRead는 이상없이 잘 되구요..
if( Key == VK_RETURN )
{
//에디트 박스에서 enter키가 눌리면 원하는 id를 찾는 SQL명령을 실행한다.
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("SELECT * FROM CharacterData WHERE Character_Name=:inputName");
Query1->Prepare();
Query1->ParamByName("inputName")->AsString = Edit1->Text;
if( Query1->Prepared ) Query1->Open();
Query1->Edit();
//레코드는 1개만 찾아져야 한다.
if( Query1->RecordCount == 1 )
{
//BLOB필드 값을 얻어온다
MyStream = new TBlobStream( (TBlobField *)Query1->FieldByName("Character_Name"), bmReadWrite); //<-------------여기가 에러 나는곳 입니다.
MyStream->ReadBuffer( &g_UserDataGetFromDB, sizeof(USER_DATA) );
delete MyStream;
}
else
{
ShowMessage("DB 데이타를 찾지 못했습니다.");
return;
}
}
저는 DB프로그램이 처음이구요 Builder실력도 초보 입니다^^;;
답변 부탁드립니다.
포스가 함께하길...
|