●ODBC
CString strName;
CString strCDE;
CString strRow;m_pDb=new CDatabase(); ・・・1
m_pDb->OpenEx("DSN=demo",0);・・・2
CRecordset* pRc=new CRecordset(m_pDb);・・・3
CString strSQL="SELECT NAME,SKU_CDE FROM SKUMST WHERE PSKU_CDE='" +strC+ "'";
try{
pRc->Open(CRecordset::snapshot,strSQL,CRecordset::readOnly);・・・4
while (!pRc->IsEOF()){
pRc->GetFieldValue("NAME",strName);・・・5
pRc->GetFieldValue("SKU_CDE",strCDE);
strRow = strName + "\t需要予測\t" + strCDE;
m_fxgrid.AddItem(strRow,vtNone);
pRc->MoveNext();・・・6
}
}
catch(CDBException e){
e.ReportError();
delete(pRc);
e.Delete();return 1;
}
pRc->Close();・・・7
delete(pRc);m_pDb->Close();・・・8
delete(m_pDb);
pos = g_mapRecord.GetStartPosition();
m_pDb->BeginTrans();・・・1while(pos != NULL ){
g_mapRecord.GetNextAssoc(pos,strKey,tabRecord);if(SQL(tabRecord)){
m_pDb->Rollback・・・4
return -1;
}
}
m_pDb->CommitTrans();・・・3
long CFFCapDlg::SQL(FilterMNT& tag)
{
//SQL 作成 tag.EditDiv 1:更新 、2:削除、3:追加CString strSQL;
CString strUpd = "UPDATE FACTORYFILTERINGCAPABILITY SET ";
CString strDel = "DELETE FACTORYFILTERINGCAPABILITY WHERE ";
CString strIns = "INSERT INTO FACTORYFILTERINGCAPABILITY ";
switch( tag.EditDiv ){
case 1:
strSQL = strUpd+"BUSINESSOPERATION_CODE='"+tag.BusinessOperation_CODE
+"',SYSTEM_NO="+tag.System_NO
+",BEVERAGETYPE_CODE='"+tag.BeverageType_CODE
+"',MAXCAPABILITY="+tag.MaxCapability
+",FILTERINGCAPABILITY="+tag.FilteringCapability
+",PERCENTAGE="+tag.Percentage
+",APSTARTDATE=to_date("+tag.APSatrtDate+" 'yy-mm-dd'),APENDDATE=to_date("+tag.APEndDate+" 'yy-mm-dd') WHERE BUSINESSOPERATION_CODE='"
+tag.BusinessOperation_CODE+
"' AND SYSTEM_NO="+tag.System_NO+
" AND BEVERAGETYPE_CODE='"+tag.BeverageType_CODE+"'";break;
case 2:
strSQL = strDel+ "BUSINESSOPERATION_CODE='"+tag.BusinessOperation_CODE+
"' AND SYSTEM_NO="+tag.System_NO+
" AND BEVERAGETYPE_CODE='"+tag.BeverageType_CODE+"'";
break;
case 3:
strSQL = strIns +" VALUES('"+tag.BusinessOperation_CODE+"',"
+tag.System_NO+","
+"'"+tag.BeverageType_CODE+"',"
+tag.MaxCapability+","
+tag.FilteringCapability+","
+tag.Percentage
+",to_date("+tag.APSatrtDate+" 'yy-mm-dd'),+to_date("+tag.APEndDate+" 'yy-mm-dd')";
break;
default:
break;
}try{
m_pDb->ExecuteSQL(strSQL);・・・2
}catch(CDBException e){
e.ReportError();
e.Delete();
return -1;
}return 0;
}