1. 換成事務處理
事務處理是數據庫提供的,跟ADO或VC沒有關系,
BeginTrans:開始一個事務
Commit;事務提交。
rollback:事務回滾。
實際上就是在你開始一個事務以後,所有數據庫數據的變化和操作都紀錄下來,
直到事務提交,如果期間任何的操作不成功,則恢復成事務開始的狀態,也就是
回滾。
事務應就可能短,否則會造成死鎖。
try
{
open();
theApp.m_pConnection->BeginTrans();//幵始事務
for(i=1;i<n;i++)
{
m_pRecordset->AddNew();
m_pRecordset->PutCollect("product",_variant_t(str));
m_pRecordset->PutCollect("c_date",m_datetime.GetValue());
m_pRecordset->PutCollect("create_usr",_variant_t(loguser));
m_pRecordset->PutCollect("modi_usr",_variant_t(" "));
m_pRecordset->PutCollect("item_no",_variant_t(m_list.GetTextMatrix(i,1)));
m_pRecordset->PutCollect("descrip",_variant_t(m_list.GetTextMatrix(i,2)));
m_pRecordset->PutCollect("cut_qty",_variant_t(m_list.GetTextMatrix(i,3)));
}
m_pRecordset->Update();
theApp.m_pConnection->CommitTrans();//提交事務
}
catch(...)
{
theApp.m_pConnection->RollbackTrans();//取消事務 }
close();
2. 換成INSERT
3.數據格式,數據是否為空