高手们,我想用定时器每10ms将一组浮点型数据写入数据库,一开始就打开并连接数据库,避免了反复连接数据库!
每个定时周期将数据写入。问题是,写不进去!!!!!敬请指点。
现附上小弟的代码:
void CMyDlg::OnStart()
{
_ConnectionPtr pConn(__uuidof(Connection));
_CommandPtr pCmd(__uuidof(Command));
pConn->ConnectionString = "Provider = Microsoft.Jet.OleDB.4.0;Data Source = db10.mdb;Persist Security Info = False";
pConn->Open("", "", "", adConnectUnspecified);
pCmd->ActiveConnection = pConn;
m_timer = SetTimer(1, 200, NULL);
}void CMyDlg::OnTimer(UINT nIDEvent)
{
if(m_Time<10)
{
SQL.Format("insert into db10 values(%d, %f, %f, %f, %f, %f,%f,%f,%f,%f,%f,now())",
1, shuzu[0],shuzu[1], shuzu[2],shuzu[3],shuzu[4],shuzu[5],shuzu[6],shuzu[7],
shuzu[8],shuzu[9]);
m_Time+=0.2; //动作一次当前时间就要加一周期10ms
}
else //如果到了终止时间
{
KillTimer(1); //清除ID号为1的时钟
m_Time=0; //当前时间归零
}
CDialog::OnTimer(nIDEvent);
}
每个定时周期将数据写入。问题是,写不进去!!!!!敬请指点。
现附上小弟的代码:
void CMyDlg::OnStart()
{
_ConnectionPtr pConn(__uuidof(Connection));
_CommandPtr pCmd(__uuidof(Command));
pConn->ConnectionString = "Provider = Microsoft.Jet.OleDB.4.0;Data Source = db10.mdb;Persist Security Info = False";
pConn->Open("", "", "", adConnectUnspecified);
pCmd->ActiveConnection = pConn;
m_timer = SetTimer(1, 200, NULL);
}void CMyDlg::OnTimer(UINT nIDEvent)
{
if(m_Time<10)
{
SQL.Format("insert into db10 values(%d, %f, %f, %f, %f, %f,%f,%f,%f,%f,%f,now())",
1, shuzu[0],shuzu[1], shuzu[2],shuzu[3],shuzu[4],shuzu[5],shuzu[6],shuzu[7],
shuzu[8],shuzu[9]);
m_Time+=0.2; //动作一次当前时间就要加一周期10ms
}
else //如果到了终止时间
{
KillTimer(1); //清除ID号为1的时钟
m_Time=0; //当前时间归零
}
CDialog::OnTimer(nIDEvent);
}
操作数据库类之前要先调用createinstance()...
搜索下Execute这个