我用vc ado连接sql2005数据库,插入数据,都很正常,问题是服务器重启或者关闭,ado无法识别。IsOpen()和GetState()返回的都是1.不知道怎么回事?
我的连接串是:
CString strConnect = _T("Provider=SQLOLEDB.1; Data Source=") + dbsrc +
_T("; Initial Catalog=") + dbname +
_T("; User ID=") + user +
_T("; PWD=") + pass;
我的识别语句是:
if(!m_SMConnection.IsOpen() && !m_SMConnection.Open(m_SMConnection.GetConnectionText()))
{
m_SMConnection.Close();
strAnswer = pReqData->PacketAnswer(FALSE, _T("连接短信数据库失败"));
break;
}
_RecordsetPtr pRecset = m_SMConnection.Execute(str);
我的连接串是:
CString strConnect = _T("Provider=SQLOLEDB.1; Data Source=") + dbsrc +
_T("; Initial Catalog=") + dbname +
_T("; User ID=") + user +
_T("; PWD=") + pass;
我的识别语句是:
if(!m_SMConnection.IsOpen() && !m_SMConnection.Open(m_SMConnection.GetConnectionText()))
{
m_SMConnection.Close();
strAnswer = pReqData->PacketAnswer(FALSE, _T("连接短信数据库失败"));
break;
}
_RecordsetPtr pRecset = m_SMConnection.Execute(str);
一般上执行完成操作后就把连接断开,下一个操作时再连接就可以了
这样可以减少很多麻烦