读书人

哪位高手能帮小弟我看看那里有错DAO

发布时间: 2013-07-24 14:36:29 作者: rapoo

谁能帮我看看那里有错DAO数据库的
为什么进了while循环后就不出来了是不是因为读不到最后一条记录所以一直不为空刚学的这些类型的转换我不是很清楚
_variant_t varseatno;
_variant_t varstarttime;
_variant_t varusetime;
_variant_t varcount;
CString Sseatno,Sstarttime,Susetime,Scount;
int i=0;
db.Open(Filepath);
Dbset.Open(AFX_DAO_USE_DEFAULT_TYPE,"SELECT * FROM DataTable", 0);
while(!Dbset.IsEOF())
{
varseatno=Dbset.GetFieldValue("SeatNO");
varstarttime=Dbset.GetFieldValue("StartTime");
varusetime=Dbset.GetFieldValue("UseTime");
varcount=Dbset.GetFieldValue("Count");

Sseatno=(LPCSTR)_bstr_t(varseatno);
Sstarttime=(LPCSTR)_bstr_t(varstarttime);
Susetime=(LPCSTR)_bstr_t(varusetime);
Scount=(LPCSTR)_bstr_t(varcount);
m_list.InsertItem(i,"");
m_list.SetItemText(i,0,Sseatno);
m_list.SetItemText(i,1,Sstarttime);
m_list.SetItemText(i,2,Susetime);
m_list.SetItemText(i,3,Scount);
i++;
}

Dbset.Close();
db.Close();
}
[解决办法]
你把Edit和Update配对使用,放到循环里面。
说明下,在Delphi下,你的代码是可以的,移动指针时,Delphi会根据是否有自动提交,自动帮你Update
[解决办法]
关键在你的修改后,数据要commit提交,才会真正的更新到数据库中。否则,更新只是在缓存在那里,并没有真正的影响到数据库记录。

读书人网 >VC/MFC

热点推荐