CString curtime = _T("");
m_time = CTime::GetCurrentTime();
int nhour = 0;
int nminute = 0;
int nsecond = 0;
nhour = m_time.GetHour();
nminute = m_time.GetMinute();
nsecond = m_time.GetSecond();
curtime.Format(_T("%d-%d-%d"),nhour,nminute,nsecond);
char * pErrMsg = 0;
int ret = 0;
sqlite3 * db = 0;
ret = sqlite3_open(dbname, &db);  
if(ret != SQLITE_OK)
{
fprintf(stderr, "Could not open database: %s\n", pErrMsg);
sqlite3_free(pErrMsg);
exit(1);
}
CString InsertStr = _T("");
InsertStr.Format(_T("INSERT INTO %s values('%s','%s','%s','%s','%s','%s')"),m_TableName,m_WorkerID,m_HoleID,curtime,zdat,xdat,ydat);
DWORD dwNum = WideCharToMultiByte(CP_OEMCP,NULL,InsertStr,-1,NULL,0,NULL,FALSE);
char *insertsql = new char[dwNum];
if(!insertsql)
{
delete []insertsql;
}
WideCharToMultiByte(CP_OEMCP,NULL,InsertStr,-1,insertsql,dwNum,NULL,FALSE);
dwNum = 0;
ret = sqlite3_exec(db,insertsql, NULL, NULL, &pErrMsg);
if (ret != SQLITE_OK)
{
   fprintf(stderr, "SQL error: %s\n", pErrMsg);
}
delete []insertsql;
sqlite3_close(db);
加入这段代码后,程序运行一段时间后自动退出。无任何错误提示。