Utilice MFC para escribir una función para determinar si la tabla existe o está vacía.

Utilice el método Ejecutar de _ConnectionPtr. Si la tabla no existe, se generará una excepción _com_error. Si no hay ningún registro en la tabla, no hay ningún registro en _RecordsetPtr.

//_RecordsetPtr m_pRecordset;

int getTableId(_ConnectionPtr amp; conn, CString table) {

CString strQuery;

strQuery. Format(_T("seleccione 1 de s"), tabla);

pruebe {

m_pRecordset = conn-gt; Execute((_bstr_t)strQuery, NULL, adCmdText);

}

catch(_com_error e) {

return -1; //La tabla no existe

}

if (m_pRecordset-gt;adoBOF) {

m_pRecordset-gt;Close();

return 0; //Sin registro

} else {

m_pRecordset-gt; Close();

return 1; //Hay un registro

}

}

Esta función es un poco vaga, pero es más intuitiva y básicamente puede cumplir con los requisitos funcionales de la función.