如题,VC用debug可以运行,release就显示内存不能“read”,好几天了,把这段代码删除了就可以release运行,求求大虾们帮帮忙...
try
{
m_pConnection.CreateInstance("ADODB.Connection");
_bstr_t strConnect="DRIVER={Microsoft Access Driver (*.mdb)};\
uid=;pwd=;DBQ=Data.mdb;";
m_pConnection->Open(strConnect,"","",adModeUnknown);
}
catch (_com_error e)
{
AfxMessageBox(e.Description());
} giv_GroupNum = 0;
CString sql = "select * from GROUPLIST";
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open(_bstr_t(sql), m_pConnection.GetInterfacePtr(),
adOpenDynamic, adLockOptimistic, adCmdText);
CString strGroupNum;
while (!m_pRecordset->adoEOF)
{
giv_GroupNum++;
int GroupNum = giv_GroupNum;
if (giv_GroupNum<10)
{
strGroupNum.Format("%d%d",0,GroupNum);
}
else
{
strGroupNum.Format("%d",GroupNum);
} m_List3.InsertItem(GroupNum-1,strGroupNum);
m_List3.SetItemText(GroupNum-1,1,(char*)(_bstr_t)m_pRecordset->GetCollect("GroupName"));
m_List3.SetItemText(GroupNum-1,2,(char*)(_bstr_t)m_pRecordset->GetCollect("GroupNum"));
m_List3.SetItemText(GroupNum-1,3,(char*)(_bstr_t)m_pRecordset->GetCollect("车"));
strTreeGroupName = (char*)(_bstr_t)m_pRecordset->GetCollect("GroupName");
strTreeGroupNum = (char*)(_bstr_t)m_pRecordset->GetCollect("GroupNum");
::SendMessage(m_pUserGroupWnd,WM_SetParentTreeList,0,0);//·¢ËÍÏûÏ¢µ½UserGroup
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
CString sqlUSER = "select * from USERLIST";
int UserNum =0;
_variant_t var;
CString strUSERNum;
int j=0;
for (int i=0;i<giv_GroupNum;i++)
{
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open(_bstr_t(sqlUSER), m_pConnection.GetInterfacePtr(),
adOpenDynamic, adLockOptimistic, adCmdText);
while (!m_pRecordset->adoEOF)
{
var = (_bstr_t)m_pRecordset->GetCollect("GroupName");
if(var.vt != VT_NULL)
strGroupName = (LPCSTR)_bstr_t(var);
if (strGroupName == m_List3.GetItemText(j,1))
{
UserNum++;
if (UserNum<10)
{
strUSERNum.Format("%d%d",0,UserNum);
}
else
{
strUSERNum.Format("%d",UserNum);
}
m_List2.InsertItem(UserNum-1,strUSERNum);
m_List2.SetItemText(UserNum-1,1,(char*)(_bstr_t)m_pRecordset->GetCollect("Name"));
m_List2.SetItemText(UserNum-1,2,(char*)(_bstr_t)m_pRecordset->GetCollect("Number"));
m_List2.SetItemText(UserNum-1,3,(char*)(_bstr_t)m_pRecordset->GetCollect("GroupName"));
m_List2.SetItemText(UserNum-1,4,(char*)(_bstr_t)m_pRecordset->GetCollect("³µÅƺÅ"));
m_List2.SetItemText(UserNum-1,5,(char*)(_bstr_t)m_pRecordset->GetCollect("ÊÖ»úºÅ"));
m_List2.SetItemText(UserNum-1,6,(char*)(_bstr_t)m_pRecordset->GetCollect("±¸×¢"));
strTreeUserName = (char*)(_bstr_t)m_pRecordset->GetCollect("Name");
strTreeGroupName = (char*)(_bstr_t)m_pRecordset->GetCollect("GroupName");
strTreeUserNum = (char*)(_bstr_t)m_pRecordset->GetCollect("Number");
::SendMessage(m_pUserOnlinehWnd,WM_SetTreeUserItem,0,0);
}
m_pRecordset->MoveNext();
}
j++;
}
m_pRecordset->Close();
try
{
m_pConnection.CreateInstance("ADODB.Connection");
_bstr_t strConnect="DRIVER={Microsoft Access Driver (*.mdb)};\
uid=;pwd=;DBQ=Data.mdb;";
m_pConnection->Open(strConnect,"","",adModeUnknown);
}
catch (_com_error e)
{
AfxMessageBox(e.Description());
} giv_GroupNum = 0;
CString sql = "select * from GROUPLIST";
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open(_bstr_t(sql), m_pConnection.GetInterfacePtr(),
adOpenDynamic, adLockOptimistic, adCmdText);
CString strGroupNum;
while (!m_pRecordset->adoEOF)
{
giv_GroupNum++;
int GroupNum = giv_GroupNum;
if (giv_GroupNum<10)
{
strGroupNum.Format("%d%d",0,GroupNum);
}
else
{
strGroupNum.Format("%d",GroupNum);
} m_List3.InsertItem(GroupNum-1,strGroupNum);
m_List3.SetItemText(GroupNum-1,1,(char*)(_bstr_t)m_pRecordset->GetCollect("GroupName"));
m_List3.SetItemText(GroupNum-1,2,(char*)(_bstr_t)m_pRecordset->GetCollect("GroupNum"));
m_List3.SetItemText(GroupNum-1,3,(char*)(_bstr_t)m_pRecordset->GetCollect("车"));
strTreeGroupName = (char*)(_bstr_t)m_pRecordset->GetCollect("GroupName");
strTreeGroupNum = (char*)(_bstr_t)m_pRecordset->GetCollect("GroupNum");
::SendMessage(m_pUserGroupWnd,WM_SetParentTreeList,0,0);//·¢ËÍÏûÏ¢µ½UserGroup
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
CString sqlUSER = "select * from USERLIST";
int UserNum =0;
_variant_t var;
CString strUSERNum;
int j=0;
for (int i=0;i<giv_GroupNum;i++)
{
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open(_bstr_t(sqlUSER), m_pConnection.GetInterfacePtr(),
adOpenDynamic, adLockOptimistic, adCmdText);
while (!m_pRecordset->adoEOF)
{
var = (_bstr_t)m_pRecordset->GetCollect("GroupName");
if(var.vt != VT_NULL)
strGroupName = (LPCSTR)_bstr_t(var);
if (strGroupName == m_List3.GetItemText(j,1))
{
UserNum++;
if (UserNum<10)
{
strUSERNum.Format("%d%d",0,UserNum);
}
else
{
strUSERNum.Format("%d",UserNum);
}
m_List2.InsertItem(UserNum-1,strUSERNum);
m_List2.SetItemText(UserNum-1,1,(char*)(_bstr_t)m_pRecordset->GetCollect("Name"));
m_List2.SetItemText(UserNum-1,2,(char*)(_bstr_t)m_pRecordset->GetCollect("Number"));
m_List2.SetItemText(UserNum-1,3,(char*)(_bstr_t)m_pRecordset->GetCollect("GroupName"));
m_List2.SetItemText(UserNum-1,4,(char*)(_bstr_t)m_pRecordset->GetCollect("³µÅƺÅ"));
m_List2.SetItemText(UserNum-1,5,(char*)(_bstr_t)m_pRecordset->GetCollect("ÊÖ»úºÅ"));
m_List2.SetItemText(UserNum-1,6,(char*)(_bstr_t)m_pRecordset->GetCollect("±¸×¢"));
strTreeUserName = (char*)(_bstr_t)m_pRecordset->GetCollect("Name");
strTreeGroupName = (char*)(_bstr_t)m_pRecordset->GetCollect("GroupName");
strTreeUserNum = (char*)(_bstr_t)m_pRecordset->GetCollect("Number");
::SendMessage(m_pUserOnlinehWnd,WM_SetTreeUserItem,0,0);
}
m_pRecordset->MoveNext();
}
j++;
}
m_pRecordset->Close();
{
...
}
else
{
...
}