{"record":{"id":"d99464c69347959c","repo":"tursodatabase/turso","slug":"nodata","errorCode":null,"errorMessage":"NoData","messagePattern":"NoData","errorType":"exception","errorClass":"InvalidOperationException","httpStatus":null,"severity":"error","filePath":"bindings/dotnet/src/Turso.Data.Sqlite/SqliteDataReader.cs","lineNumber":955,"sourceCode":"\n    private TursoStatementHandle GetStatement()\n    {\n        if (_statement is null)\n            throw new InvalidOperationException(Properties.Resources.NoData);\n\n        return _statement;\n    }\n\n    private void ValidateOrdinal(int ordinal)\n    {\n        if (ordinal < 0 || ordinal >= FieldCount)\n            throw new ArgumentOutOfRangeException(nameof(ordinal), ordinal, null);\n    }\n\n    private void EnsureHasCurrentRow()\n    {\n        if (!_hasCurrentRow)\n            throw new InvalidOperationException(Properties.Resources.NoData);\n    }\n\n    private ManagedSqliteResult CurrentManagedResult\n    {\n        get\n        {\n            if (_managedExecution is null || _managedExecution.Results.Count == 0)\n                throw new InvalidOperationException(Properties.Resources.NoData);\n\n            return _managedExecution.Results[_managedResultIndex];\n        }\n    }\n\n    private void EnsureHasManagedCurrentRow()\n    {\n        if (_managedExecution is null\n            || _managedExecution.Results.Count == 0\n            || _managedRowIndex < 0","sourceCodeStart":937,"sourceCodeEnd":973,"githubUrl":"https://github.com/tursodatabase/turso/blob/6c7252267988c76e632af00a671e4b9788dfae13/bindings/dotnet/src/Turso.Data.Sqlite/SqliteDataReader.cs#L937-L973","documentation":"Generic NoData sentinel from the resource strings, raised by GetStatement/EnsureHasCurrentRow when a column-access helper runs with no prepared statement or no current row: either Read was never called, the result set is exhausted, or the statement was never bound. The faulting input is the timing of the access, not an argument.","triggerScenarios":"Thrown at bindings/dotnet/src/Turso.Data.Sqlite/SqliteDataReader.cs:955 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Call and check reader.Read() (returning true) before accessing columns","Verify the query actually returned a row before invoking Get* methods","Do not reuse the reader after it has been exhausted or closed"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6c7252267988c76e632af00a671e4b9788dfae13","analyzedAt":"2026-09-06T07:15:26.990Z","contentChangedAt":"2026-09-06T07:15:26.990Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}