_RecordsetPtr pPtr;
if (FAILED(pPtr.CreateInstance("ADODB.Recordset")))
{
AfxMessageBox("Create Instance failed!");
return;
}     CString strSRC;
strSRC = "Driver=SQL Server;Server=10.42.69.149;Database=vatdata;UID=sa;PWD=19830208"; CString strSQL = "select * from ts_tfp_inf"; // (1) _variant_t varSRC(strSRC);
_variant_t varSQL(strSQL); if(FAILED(pPtr->Open(varSQL, varSRC, adOpenStatic, adLockOptimistic, adCmdText)))
{
AfxMessageBox("Open table failed!");
pPtr.Release();
return;
}
以上代码,当我向数据库中访问已有的表格时,执行是ok的。
然后我向数据库中手动添加一个表,再执行就挂掉了。
我在查询分析器中,执行select语句新表,也是ok的。后来我把服务器断开,重连接,还是会挂掉。"Unhandled exception in **.exe (Kernel32.dll): 0xE06D7363.."