void CPage2::OnButtonAddItem()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
//BOOL ret=FALSE;
LONG lMaxCount=1000000;
IP_INFO &struIPinfo; //结构名和结构地址 这个在哪初始化啊?
if (NULL!=m_pBase&&m_pBase->IsOpen())
{
memset((void*)&struIPinfo,0,sizeof(struIPinfo));
if (m_pRecordSet.IsOpen())
{
m_pRecordSet.MoveNext();
}
else
{
if (m_pRecordSet.Open(m_pBase->GetActiveConnection(),_T("select ip from iptable")))
{
if (m_pRecordSet.IsBOF()||m_pRecordSet.IsEOF())
{
m_pRecordSet.Close();
//return FALSE;
AfxMessageBox("error");
}
else
{
m_pRecordSet.MoveFirst();
}
}
else
{
// return FALSE;
AfxMessageBox("error");
}
if (m_pRecordSet.IsEof()||m_pRecordSet.GetAbsolutePosition()>lMaxCount)
{
m_pRecordSet.Close();
}
else
{
m_pRecordSet.MoveFirst(); // move to first record [1/11/2010 Administrator]
m_pRecordSet.AddNew(); // add new record [1/11/2010 Administrator] // add data to database [1/11/2010 Administrator]
m_pRecordSet.SetFieldValue(_T("achStartIPAddr"),m_cstrStartIP);
m_pRecordSet.SetFieldValue(_T("achendIPAddr"),m_cstrEndIP);
m_pRecordSet.SetFieldValue(_T("achAimIPAddr"),m_cstrAimIP);
m_pRecordSet.Update();
//ret=TRUE;
m_pRecordSet.Close();
}
}
} //return ret;
}
后来我去调IP_INFO &struIPinfo;
运行到这个程序就会出现unhandled exception in xxx.exe:0xC0000005:Access Violation 这样的错误
哪里出错了 怎么解决啊
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
//BOOL ret=FALSE;
LONG lMaxCount=1000000;
IP_INFO &struIPinfo; //结构名和结构地址 这个在哪初始化啊?
if (NULL!=m_pBase&&m_pBase->IsOpen())
{
memset((void*)&struIPinfo,0,sizeof(struIPinfo));
if (m_pRecordSet.IsOpen())
{
m_pRecordSet.MoveNext();
}
else
{
if (m_pRecordSet.Open(m_pBase->GetActiveConnection(),_T("select ip from iptable")))
{
if (m_pRecordSet.IsBOF()||m_pRecordSet.IsEOF())
{
m_pRecordSet.Close();
//return FALSE;
AfxMessageBox("error");
}
else
{
m_pRecordSet.MoveFirst();
}
}
else
{
// return FALSE;
AfxMessageBox("error");
}
if (m_pRecordSet.IsEof()||m_pRecordSet.GetAbsolutePosition()>lMaxCount)
{
m_pRecordSet.Close();
}
else
{
m_pRecordSet.MoveFirst(); // move to first record [1/11/2010 Administrator]
m_pRecordSet.AddNew(); // add new record [1/11/2010 Administrator] // add data to database [1/11/2010 Administrator]
m_pRecordSet.SetFieldValue(_T("achStartIPAddr"),m_cstrStartIP);
m_pRecordSet.SetFieldValue(_T("achendIPAddr"),m_cstrEndIP);
m_pRecordSet.SetFieldValue(_T("achAimIPAddr"),m_cstrAimIP);
m_pRecordSet.Update();
//ret=TRUE;
m_pRecordSet.Close();
}
}
} //return ret;
}
后来我去调IP_INFO &struIPinfo;
运行到这个程序就会出现unhandled exception in xxx.exe:0xC0000005:Access Violation 这样的错误
哪里出错了 怎么解决啊
你定义的引用变量没有指向任何实际对象,因此在
memset((void*)&struIPinfo,0,sizeof(struIPinfo)); 时,肯定是个崩溃......
改成IP_INFO struIPinfo;