getfieldvalueによってアクセスデータベースから取得したデータを保存するために、次の構造を宣言しました。エラーはSpds_old-> Time_old.push_back(OldTime);にありました。DBでは、値は午後3時00分00秒です。エラーを教えてください。ありがとうございました。さらに情報が必要な場合はお知らせください。ありがとう-キラン
typedef struct {
std::vector<CString> pname_old;
std::vector<CDBVariant> Date_old;
std::vector<CDBVariant> Time_old;
} Spd_old;
Spd_old * Spds_old;
次に、cppファイルでこれはコードです
CRecordset rset(&pdatabase);
CString pName;
CDBVariant OldDate;
CDBVariant OldTime;
CString selectionStr = "SELECT I.PType,I.Date,I.Time FROM CCYX I,(select PType, MAX(Date) AS Date1";
selectionStr += " FROM CCYX GROUP BY PType) T WHERE I.PType = T.PType AND I.Date =T.Date1";
try
{
if(rset.Open(CRecordset::forwardOnly, selectionStr))
{
try
{
while(!(rset.IsBOF()&&rset.IsEOF()))
{
m_Log->Log("Copying Previous spd Values from Access DB");
rset.GetFieldValue((short)0 ,pName );
rset.GetFieldValue((short)1 ,OldDate );
rset.GetFieldValue((short)2 ,OldTime);
Spds_old->pname_old.push_back(pName);
Spds_old->Date_old.push_back(OldDate);
Spds_old->Time_old.push_back(OldTime);