|
다중행을 한번에 업데이트 또는 인서트를 할때 어떻게 해야 하나요?
아래처럼 하면 가장 마지막 값만 저장됩니다. (Next() 를 빼면 당연한 결과 같습니다.)
Next() 를 입력하면 에러가 나고..
다음행으로 옮기는 명령이나 한번에 일괄적으로 업데이트/인서트를 할수 있는 명령어가 있나요?
참고로 database는 Firebird 2.0 사용합니다.
연결은 ZeosDBO 컴포넌트 사용했습니다.
strName[i], strCard[i] : 사용자가 입력한 값.
for(int i = 0; i <10; i++)
{
dmAcmp->zqry->Close();
dmAcmp->zqry->SQL->Clear();
dmAcmp->zqry->SQL->Add("update TABLE1 set sName = ' " + strName[i] + " ', ");
dmAcmp->zqry->SQL->Add("CardNo = ' " + strCard[i] + " ' ");
dmAcmp->zqry->SQL->Add("where CustID = '" + edt_CustNo->Text + "'");
dmAcmp->zqry->ExecSQL();
// dmAcmp->zqry_OneCust->Next(); // Error 가 납니다.
// error 내용 : Cannot perform this operation on a closed dataset
}
|