strsql = "select * from flow_info_tb order by flow_ID"; // 默認升序
// 查詢flow_info_tb中的所有記錄
m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{
m_pRecordset->Open((_variant_t)strsql,
theApp.m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
try
{
if(m_pRecordset->BOF) // 無記錄
{
m_pRecordset->Close();
m_pRecordset = NULL;
return;
}
else // 有記錄
{
m_pRecordset->MoveFirst();
BYTE equip;
while(!m_pRecordset->adoEOF)
{
// flow_info_tb表中有幾個欄位 ,有一個是flow_ID,字串型別n1-n2-n3格式
……; // 資料處理部分
equip = n1; // 處理得到n1
if(equip == 1) // 如果 n1等于1洗掉這條記錄
{
m_pRecordset->Delete(adAffectCurrent); // 排序后的記錄集中記錄的洗掉,這句出錯!
m_pRecordset->Update();
}
m_pRecordset->MoveNext();
}
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
m_pRecordset->Close();
m_pRecordset = NULL;
m_pRecordset->Delete(adAffectCurrent); 出錯
1. 與程式連接資料庫的用戶的權限有關?權限里已允許插入、更改、更新、洗掉、選擇。
2. 與Open函式中的adOpenDynamic,,adLockOptimistic引數有關?
3. 與查詢陳述句中的order by有關?
uj5u.com熱心網友回復:
先在資料庫中執行你的sql陳述句,看是否正確uj5u.com熱心網友回復:
正確 就是查詢flow_info_tb表中的所有記錄,并按flow_ID升序排列。
現在用了一個麻煩的方法解決了。
在原來洗掉單條記錄的位置執行像上面的Open函式洗掉的。
uj5u.com熱心網友回復:
只執行一條試一試,不要回圈uj5u.com熱心網友回復:
洗掉之前,檢查記錄指標是否EOF或者BOF轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/126396.html
標籤:數據庫
上一篇:新建mfc應用程式出錯該怎么解決
下一篇:新建MFC應用程式報錯如何解決
