亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

想在OnTimer()函數中逐條讀取ACCESS中的data數據并在編輯框中顯示,?但是卻沒效果?

想在OnTimer()函數中逐條讀取ACCESS中的data數據并在編輯框中顯示,?但是卻沒效果?

慕雪6442864 2022-06-16 11:11:25
沒效果怎么回事啊?void CScopeTestDlg::OnTimer(UINT nIDEvent){str="select * from USBData";data.Open(CData::dynaset,_T(str));m_display=data.m_data;//想將數據庫中m_data顯示到控件m_displayUpdateData(false);data.MoveNext();data.Close();CDialog::OnTimer(nIDEvent);}控件數據不變化啊,把m_display=data.m_data用m_display=a++代替(a我設置的全局變量),空間的數值就會自動增加顯示。怎么修改程序啊?
查看完整描述

2 回答

?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

你這個OnTimer是正常工作了,不過你的 程序邏輯有問題
把 str="select * from USBData";
data.Open(CData::dynaset,_T(str));
這兩句放在函數外面,比如程序的初始化函數里面!。
你現在的問題是,每次調用OnTimer都是重新連接的數據庫,然后都是顯示的第一條數據,當然控件是不可能變化的了,
你改成這樣
void CScopeTestDlg::OnTimer(UINT nIDEvent)
{
while(....)//如果沒有到達表的最后一條
m_display = data.m_data;
data.MoveNext();

}
在結束OnTimer函數時,才使用data.Close()關閉連接!
回答OK

查看完整回答
反對 回復 2022-06-20
?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

m_display=data.m_data
改成memcpy(&m_display, &(data.m_data),sizeof(m_display));

查看完整回答
反對 回復 2022-06-20
  • 2 回答
  • 0 關注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號