返回代码

在最基本的级别上,成员函数要么成功,要么失败。在稍微精确一些的级别上,函数可能会成功,但是它的成功可能并不是应用程序开发人员想要的成功。

有关 OLE DB 返回代码的详细信息,请参阅 Return Codes (OLE DB)(返回代码 (OLE DB))。

如果 SQL Server Native Client OLE DB 访问接口的某成员函数返回 S_OK,则表明该函数执行成功。

如果 SQL Server Native Client OLE DB 访问接口的某成员函数没有返回 S_OK,则 OLE/COM HRESULT-unpacking FAILED 和 IS_ERROR 宏会判断此函数是否在总体上取得了成功或失败。

如果 FAILED 或 IS_ERROR 返回 TRUE,则 SQL Server Native Client OLE DB 访问接口的使用者可以肯定成员函数执行失败。如果 FAILED 或 IS_ERROR 返回 FALSE,并且 HRESULT 不等于 S_OK,则 SQL Server Native Client OLE DB 访问接口的使用者可以肯定函数在某种意义上执行成功。使用者可以检索与从 SQL Server Native Client OLE DB 访问接口的错误接口返回的此“成功但存在错误”有关的更详细信息。此外,如果函数明显执行失败(FAILED 宏返回 TRUE),也可以从 SQL Server Native Client OLE DB 访问接口的错误接口获得扩展错误信息。

SQL Server Native Client OLE DB 访问接口的使用者经常会遇到 HRESULT 返回 DB_S_ERRORSOCCURRED“成功但存在错误”。通常,返回 DB_S_ERRORSOCCURRED 的成员函数会定义一个或多个将状态值传递给使用者的参数。除了在状态值参数中返回的错误信息之外,使用者无法获得其他任何错误信息,因此使用者应将应用程序逻辑实现为在有可用的状态值时检索这些状态值。

SQL Server Native Client OLE DB 访问接口的成员函数不返回成功代码 S_FALSE。SQL Server Native Client OLE DB 访问接口的所有成员函数总是返回 S_OK 来指示执行成功。

请参阅

概念