⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqlitebase.cs

📁 破解的飞信源代码
💻 CS
字号:
namespace Imps.Client.Data
{
    using System;
    using System.Runtime.InteropServices;

    internal abstract class SQLiteBase : SQLiteConvert, IDisposable
    {
        internal SQLiteBase(SQLiteDateFormats fmt) : base(fmt)
        {
        }

        internal abstract IntPtr AggregateContext(IntPtr context);
        internal abstract int AggregateCount(IntPtr context);
        internal abstract void Bind_Blob(SQLiteStatement stmt, int index, byte[] blobData);
        internal abstract void Bind_DateTime(SQLiteStatement stmt, int index, DateTime dt);
        internal abstract void Bind_Double(SQLiteStatement stmt, int index, double value);
        internal abstract void Bind_Int32(SQLiteStatement stmt, int index, int value);
        internal abstract void Bind_Int64(SQLiteStatement stmt, int index, long value);
        internal abstract void Bind_Null(SQLiteStatement stmt, int index);
        internal abstract int Bind_ParamCount(SQLiteStatement stmt);
        internal abstract int Bind_ParamIndex(SQLiteStatement stmt, string paramName);
        internal abstract string Bind_ParamName(SQLiteStatement stmt, int index);
        internal abstract void Bind_Text(SQLiteStatement stmt, int index, string value);
        internal abstract void Cancel();
        internal abstract void ChangePassword(byte[] newPasswordBytes);
        internal abstract void Close();
        internal static void Close(SQLiteConnectionHandle db)
        {
            int errorCode = UnsafeNativeMethods.sqlite3_close_interop(db);
            if (errorCode > 0)
            {
                throw new SQLiteException(errorCode, SQLiteLastError(db));
            }
        }

        internal abstract TypeAffinity ColumnAffinity(SQLiteStatement stmt, int index);
        internal abstract int ColumnCount(SQLiteStatement stmt);
        internal abstract string ColumnDatabaseName(SQLiteStatement stmt, int index);
        internal abstract int ColumnIndex(SQLiteStatement stmt, string columnName);
        internal abstract void ColumnMetaData(string dataBase, string table, string column, out string dataType, out string collateSequence, out bool notNull, out bool primaryKey, out bool autoIncrement);
        internal abstract string ColumnName(SQLiteStatement stmt, int index);
        internal abstract string ColumnOriginalName(SQLiteStatement stmt, int index);
        internal abstract string ColumnTableName(SQLiteStatement stmt, int index);
        internal abstract string ColumnType(SQLiteStatement stmt, int index, out TypeAffinity nAffinity);
        internal abstract IntPtr CreateCollation(string strCollation, SQLiteCollation func);
        internal abstract IntPtr CreateFunction(string strFunction, int nArgs, SQLiteCallback func, SQLiteCallback funcstep, SQLiteCallback funcfinal);
        public void Dispose()
        {
            this.Dispose(true);
        }

        protected virtual void Dispose(bool bDisposing)
        {
        }

        internal static void FinalizeStatement(SQLiteStatementHandle stmt)
        {
            int errorCode = UnsafeNativeMethods.sqlite3_finalize_interop(stmt);
            if (errorCode > 0)
            {
                throw new SQLiteException(errorCode, SQLiteLastError(stmt));
            }
        }

        internal abstract void FreeFunction(IntPtr cookie);
        internal abstract long GetBytes(SQLiteStatement stmt, int index, int nDataoffset, byte[] bDest, int nStart, int nLength);
        internal abstract long GetChars(SQLiteStatement stmt, int index, int nDataoffset, char[] bDest, int nStart, int nLength);
        internal abstract int GetCursorForTable(SQLiteStatement stmt, int database, int rootPage);
        internal abstract DateTime GetDateTime(SQLiteStatement stmt, int index);
        internal abstract double GetDouble(SQLiteStatement stmt, int index);
        internal abstract int GetInt32(SQLiteStatement stmt, int index);
        internal abstract long GetInt64(SQLiteStatement stmt, int index);
        internal abstract long GetParamValueBytes(IntPtr ptr, int nDataOffset, byte[] bDest, int nStart, int nLength);
        internal abstract double GetParamValueDouble(IntPtr ptr);
        internal abstract int GetParamValueInt32(IntPtr ptr);
        internal abstract long GetParamValueInt64(IntPtr ptr);
        internal abstract string GetParamValueText(IntPtr ptr);
        internal abstract TypeAffinity GetParamValueType(IntPtr ptr);
        internal abstract long GetRowIdForCursor(SQLiteStatement stmt, int cursor);
        internal abstract string GetText(SQLiteStatement stmt, int index);
        internal abstract object GetValue(SQLiteStatement stmt, int index, ref SQLiteType typ);
        internal abstract bool IsNull(SQLiteStatement stmt, int index);
        internal abstract void Open(string strFilename);
        internal abstract SQLiteStatement Prepare(string strSql, SQLiteStatement previous, out string strRemain);
        internal abstract int Reset(SQLiteStatement stmt);
        internal abstract void ReturnBlob(IntPtr context, byte[] value);
        internal abstract void ReturnDouble(IntPtr context, double value);
        internal abstract void ReturnError(IntPtr context, string value);
        internal abstract void ReturnInt32(IntPtr context, int value);
        internal abstract void ReturnInt64(IntPtr context, long value);
        internal abstract void ReturnNull(IntPtr context);
        internal abstract void ReturnText(IntPtr context, string value);
        internal abstract void SetCommitHook(SQLiteCommitCallback func);
        internal abstract void SetPassword(byte[] passwordBytes);
        internal abstract void SetRollbackHook(SQLiteRollbackCallback func);
        internal abstract void SetTimeout(int nTimeoutMS);
        internal abstract void SetUpdateHook(SQLiteUpdateCallback func);
        internal abstract string SQLiteLastError();
        internal static string SQLiteLastError(SQLiteConnectionHandle db)
        {
            int nativestringlen;
            return SQLiteConvert.UTF8ToString(UnsafeNativeMethods.sqlite3_errmsg_interop(db, out nativestringlen), nativestringlen);
        }

        internal static string SQLiteLastError(SQLiteStatementHandle stmt)
        {
            int nativestringlen;
            return SQLiteConvert.UTF8ToString(UnsafeNativeMethods.sqlite3_errmsg_stmt_interop(stmt, out nativestringlen), nativestringlen);
        }

        internal abstract bool Step(SQLiteStatement stmt);

        internal abstract int Changes { get; }

        internal abstract string Version { get; }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -