(求大侠相助)mfc中ado连接SQL SERVER数据库,执行Execute时出错!
运行环境VS08SQLSERVER08.数据库连接并已经打开.出错代码段:try{CStringstrSQL=_T("select*fromstudent");pConn...
运行环境VS08 SQL SERVER08.
数据库连接并已经打开.
出错代码段:
try
{
CString strSQL = _T("select * from student");
pConn->Execute(_bstr_t(strSQL),NULL,adCmdText);
pConn.Release();
AfxMessageBox(_T("SQL语句执行成功!"));
}
catch(_com_error e)
{
pConn.Release();
AfxMessageBox(_T("SQL语句执行失败!"));
}
上面的SQL语句在SQL SERVER中运行没问题. 展开
数据库连接并已经打开.
出错代码段:
try
{
CString strSQL = _T("select * from student");
pConn->Execute(_bstr_t(strSQL),NULL,adCmdText);
pConn.Release();
AfxMessageBox(_T("SQL语句执行成功!"));
}
catch(_com_error e)
{
pConn.Release();
AfxMessageBox(_T("SQL语句执行失败!"));
}
上面的SQL语句在SQL SERVER中运行没问题. 展开
1个回答
展开全部
这么简单的sql语句当然没问题。
_ConnectionPtr是智能指针,在析构时会自动释放。
你这里pConn.Release(); 释放了,导致后面会重复释放出错。而且你还没关闭连接。
try
{
CString strSQL = _T("select * from student");
pConn->Execute(_bstr_t(strSQL),NULL,adCmdText);
pConn->Close();
AfxMessageBox(_T("SQL语句执行成功!"));
}
catch(_com_error e)
{
pConn->Close();
AfxMessageBox(_T("SQL语句执行失败!"));
}
_ConnectionPtr是智能指针,在析构时会自动释放。
你这里pConn.Release(); 释放了,导致后面会重复释放出错。而且你还没关闭连接。
try
{
CString strSQL = _T("select * from student");
pConn->Execute(_bstr_t(strSQL),NULL,adCmdText);
pConn->Close();
AfxMessageBox(_T("SQL语句执行成功!"));
}
catch(_com_error e)
{
pConn->Close();
AfxMessageBox(_T("SQL语句执行失败!"));
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询