コード例 #1
0
        public int Execute()
        {
            var result = _sqlite3.Step(_statement);

            if (result == SqliteResult.RowReady)
            {
                var resetResult = _sqlite3.Reset(_statement);
                ThrowOnError(resetResult);
                return(0);
            }
            else if (result == SqliteResult.Ok || result == SqliteResult.Done)
            {
                var changes     = _sqlite3.Changes(_database);
                var resetResult = _sqlite3.Reset(_statement);
                ThrowOnError(resetResult);
                return(changes);
            }
            else
            {
                throw new SqliteException(
                          _sqlite3.Errmsg(_database) ?? string.Empty,
                          _sqlite3.GetError(result));
            }
        }