private int ExecuteCommandTextForSingleRow(tagDBPARAMS dbParams, out object executeResult) { Debug.Assert(_executeQuery, "ExecuteNonQuery should always use ExecuteCommandTextForSingleResult"); if (_connection.SupportIRow(this)) { OleDbHResult hr; hr = _icommandText.Execute(ADP.PtrZero, ref ODB.IID_IRow, dbParams, out _recordsAffected, out executeResult); if (OleDbHResult.DB_E_NOTFOUND == hr) { SafeNativeMethods.Wrapper.ClearErrorInfo(); return(ODB.ExecutedIRow); } else if (OleDbHResult.E_NOINTERFACE != hr) { ExecuteCommandTextErrorHandling(hr); return(ODB.ExecutedIRow); } } SafeNativeMethods.Wrapper.ClearErrorInfo(); return(ExecuteCommandTextForSingleResult(dbParams, out executeResult)); }