답변이 너무 늦은건 아닌지 모르겠네요..
저는 이렇게 사용하고 있습니다.
TDateTime dtYDT;
AnsiString strQry;
strQry = "SELECT * FROM Table1 ORDER BY YearDateTime ASC";
qryDest->Close();
qryDest->SQL->Text = strQry;
qryDest->Open();
qryDest->Last();
qryDest->Insert();
qryDest->FieldByName("No")->AsInteger = qryDest->RecordCount+1;
dtYDT = qrySrc->FieldByName("YearDateTime")->AsDateTime;
//qryDest->FieldByName("YearDateTime")->AsString = FormatDateTime("yyyy-mm-dd hh:nn:ss", dtYDT);
qryDest->FieldByName("YearDateTime")->AsDateTime = dtYDT;
qryDest->FieldByName("A")->AsInteger = iTrend[pA];
qryDest->FieldByName("B")->AsInteger = iTrend[pB];
qryDest->FieldByName("C")->AsInteger = iTrend[pC];
qryDest->FieldByName("Msg")->AsString = strWarningMsg.SubString(1, strWarningMsg.Length()-1);
try
{
qryDest->Post();
}
catch(const Exception& e)
{
//Application->MessageBox(e.Message.c_str(), "Database Post Error", MB_OK|MB_ICONERROR);
OnShowMsgWarning("Database Post Error");
qryDest->CancelUpdates();
}
그럼, 좋은 결과 있으시길 바랍니다.
즐프 님이 쓰신 글 :
: paradox를 쓰다가 memo값의 한계로 부득이하게 MDB를 쓰게되어
: 계속 삽질하다가 ADO로 바꾸었습니다..
: ADO 는 SQL문 이 조금 틀려.. 이거는 삽질이 아니고...죽겠습니다..
:
: 전에는 이런식으로...
: AnsiString num, txt;
: int count = 3;
:
: Query2->Close();
: Query2->SQL->Clear();
: Query2->SQL->Add("Insert into easy");
: Query2->SQL->Add("(field1,content)");
: kk = " Values(:num,:txt)";
: Query2->SQL->Add(kk);
: Query2->ParamByName("num")->AsInteger = count; // 정수
: Query2->ParamByName("txt")->AsString = buffer; / / memo값 무지큼
: Query2->ExecSQL();
: Query2->Prepare();
: 아주 잘 썼었습니다..
: ADO로 바꾼뒤 사용법을 모르겠습니다..
:
: 정수 count 3 값이 field1 에 들어가고 buffer값이 content에 들어갔었는데 ADO로 바꾸었더니
:
: Values 에 num값을 인식을 못합니다. count값을 넣어야하는데,,,
: buffer값도 인식 못하고,...
:
: Query2->ParamByName .. ADO에서는 인식못하여 FieldByName으로 바꾸어주다가 에러나서 지웠습니다..
: 또한
: Values(num,txt) ,,, valuse('num','txt)'=>이거는 원하는 값이 안나오고 .... valuse(count,buffer)...
: 별 수를 써도 valuse 값은 count(정수)값과, buffer(memo) 값을 인식못하고 에러납니다....
: 정수와, 스트링값이 구별되서 들어가야 하는데..
:
: 위의 SQL문을 Access ADO형식으로 바꾸어 주세요........................