internal static void Bind(sqlite3 db, sqlite3_stmt stm, int index, object value)
        {
            int rc = 0;

            if (value == null)
            {
                rc = raw.sqlite3_bind_null(stm, index);
            }
            else
            {
                if (IsSupportedInteger(value))
                {
                    rc = raw.sqlite3_bind_int64(stm, index, GetInteger(value));
                }
                else if (IsSupportedFloat(value))
                {
                    rc = raw.sqlite3_bind_double(stm, index, GetFloat(value));
                }
                else if (IsSupportedText(value))
                {
                    rc = raw.sqlite3_bind_text(stm, index, value.ToString());
                }
                else if (value is byte[])
                {
                    rc = raw.sqlite3_bind_blob(stm, index, (byte[])value);
                }
                else
                {
                    throw new SQLiteException("Unable to bind parameter with unsupported type: " + value.GetType().FullName);
                }
            }

            VerifySQLiteResponse(rc, raw.SQLITE_OK, db);
        }
Ejemplo n.º 2
0
 internal Cursor (sqlite3_stmt stmt, object dbLock)
 {
     this.dbLock = dbLock;
     this.statement = stmt;
     currentRow = -1;
     lock (dbLock) { currentStep = statement.step(); }
 }
Ejemplo n.º 3
0
 static public int sqlite3_reset(sqlite3_stmt stmt)
 {
     return(_imp.sqlite3_reset(stmt.ptr));
 }
Ejemplo n.º 4
0
 static public int sqlite3_prepare_v2(sqlite3 db, string sql, out sqlite3_stmt stmt, out string tail)
 {
     IntPtr p;
     int rc = _imp.sqlite3_prepare_v2(db.ptr, sql, out p, out tail);
     stmt = new sqlite3_stmt(p, db);
     return rc;
 }
Ejemplo n.º 5
0
 static public int sqlite3_stmt_readonly(sqlite3_stmt stmt)
 {
     return _imp.sqlite3_stmt_readonly(stmt.ptr);
 }
Ejemplo n.º 6
0
 static public long sqlite3_column_int64(sqlite3_stmt stmt, int index)
 {
     return _imp.sqlite3_column_int64(stmt.ptr, index);
 }
Ejemplo n.º 7
0
 static public int sqlite3_bind_blob(sqlite3_stmt stmt, int index, byte[] blob)
 {
     return _imp.sqlite3_bind_blob(stmt.ptr, index, blob);
 }
Ejemplo n.º 8
0
 static public int sqlite3_bind_text(sqlite3_stmt stmt, int index, string val)
 {
     return _imp.sqlite3_bind_text(stmt.ptr, index, val);
 }
Ejemplo n.º 9
0
 static public int sqlite3_bind_blob(sqlite3_stmt stmt, int index, byte[] blob)
 {
     return(sqlite3_bind_blob(stmt, index, blob, blob.Length));
 }
Ejemplo n.º 10
0
        static public sqlite3 sqlite3_db_handle(sqlite3_stmt stmt)
        {
#if not
            IntPtr p = _imp.sqlite3_db_handle(stmt.ptr);
            Assert(p == stmt.db.ptr);
#endif
            return stmt.db;
        }
Ejemplo n.º 11
0
 static public int sqlite3_bind_zeroblob(sqlite3_stmt stmt, int index, int size)
 {
     return(_imp.sqlite3_bind_zeroblob(stmt.ptr, index, size));
 }
Ejemplo n.º 12
0
 static public string sqlite3_bind_parameter_name(sqlite3_stmt stmt, int index)
 {
     return(_imp.sqlite3_bind_parameter_name(stmt.ptr, index));
 }
Ejemplo n.º 13
0
 static public string sqlite3_sql(sqlite3_stmt stmt)
 {
     return(_imp.sqlite3_sql(stmt.ptr));
 }
Ejemplo n.º 14
0
 public static int sqlite3_stmt_status(sqlite3_stmt stmt, int op, int resetFlg)
 {
     return(_imp.sqlite3_stmt_status(stmt.ptr, op, resetFlg));
 }
Ejemplo n.º 15
0
 static public int sqlite3_clear_bindings(sqlite3_stmt stmt)
 {
     return(_imp.sqlite3_clear_bindings(stmt.ptr));
 }
Ejemplo n.º 16
0
 static public int sqlite3_reset(sqlite3_stmt stmt)
 {
     return _imp.sqlite3_reset(stmt.ptr);
 }
Ejemplo n.º 17
0
 static public int sqlite3_bind_blob(sqlite3_stmt stmt, int index, byte[] blob, int nSize)
 {
     return(_imp.sqlite3_bind_blob(stmt.ptr, index, blob, nSize));
 }
Ejemplo n.º 18
0
 public static int sqlite3_stmt_status(sqlite3_stmt stmt, int op, int resetFlg)
 {
     return _imp.sqlite3_stmt_status(stmt.ptr, op, resetFlg);
 }
Ejemplo n.º 19
0
 static public int sqlite3_bind_double(sqlite3_stmt stmt, int index, double val)
 {
     return(_imp.sqlite3_bind_double(stmt.ptr, index, val));
 }
Ejemplo n.º 20
0
 static public int sqlite3_bind_zeroblob(sqlite3_stmt stmt, int index, int size)
 {
     return _imp.sqlite3_bind_zeroblob(stmt.ptr, index, size);
 }
Ejemplo n.º 21
0
 static public int sqlite3_bind_int64(sqlite3_stmt stmt, int index, long val)
 {
     return(_imp.sqlite3_bind_int64(stmt.ptr, index, val));
 }
Ejemplo n.º 22
0
 static public int sqlite3_bind_int64(sqlite3_stmt stmt, int index, long val)
 {
     return _imp.sqlite3_bind_int64(stmt.ptr, index, val);
 }
Ejemplo n.º 23
0
 static public int sqlite3_bind_null(sqlite3_stmt stmt, int index)
 {
     return(_imp.sqlite3_bind_null(stmt.ptr, index));
 }
Ejemplo n.º 24
0
 static public int sqlite3_bind_parameter_index(sqlite3_stmt stmt, string strName)
 {
     return _imp.sqlite3_bind_parameter_index(stmt.ptr, strName);
 }
Ejemplo n.º 25
0
 static public int sqlite3_bind_text(sqlite3_stmt stmt, int index, string val)
 {
     return(_imp.sqlite3_bind_text(stmt.ptr, index, val));
 }
Ejemplo n.º 26
0
 static public int sqlite3_data_count(sqlite3_stmt stmt)
 {
     return _imp.sqlite3_data_count(stmt.ptr);
 }
Ejemplo n.º 27
0
 static public int sqlite3_bind_parameter_count(sqlite3_stmt stmt)
 {
     return(_imp.sqlite3_bind_parameter_count(stmt.ptr));
 }
Ejemplo n.º 28
0
 static public int sqlite3_column_type(sqlite3_stmt stmt, int index)
 {
     return _imp.sqlite3_column_type(stmt.ptr, index);
 }
Ejemplo n.º 29
0
 static public int sqlite3_bind_parameter_index(sqlite3_stmt stmt, string strName)
 {
     return(_imp.sqlite3_bind_parameter_index(stmt.ptr, strName));
 }
Ejemplo n.º 30
0
 static public int sqlite3_prepare_v2(sqlite3 db, string sql, out sqlite3_stmt stmt)
 {
     string tail;
     return sqlite3_prepare_v2(db, sql, out stmt, out tail);
 }
Ejemplo n.º 31
0
 static public int sqlite3_stmt_busy(sqlite3_stmt stmt)
 {
     return(_imp.sqlite3_stmt_busy(stmt.ptr));
 }
Ejemplo n.º 32
0
 static public int sqlite3_finalize(sqlite3_stmt stmt)
 {
     int rc = _imp.sqlite3_finalize(stmt.ptr);
     stmt.set_already_disposed();
     return rc;
 }
Ejemplo n.º 33
0
 static public int sqlite3_stmt_readonly(sqlite3_stmt stmt)
 {
     return(_imp.sqlite3_stmt_readonly(stmt.ptr));
 }
Ejemplo n.º 34
0
 static public int sqlite3_clear_bindings(sqlite3_stmt stmt)
 {
     return _imp.sqlite3_clear_bindings(stmt.ptr);
 }
Ejemplo n.º 35
0
 static public string sqlite3_column_table_name(sqlite3_stmt stmt, int index)
 {
     return(_imp.sqlite3_column_table_name(stmt.ptr, index));
 }
Ejemplo n.º 36
0
 static public string sqlite3_sql(sqlite3_stmt stmt)
 {
     return _imp.sqlite3_sql(stmt.ptr);
 }
Ejemplo n.º 37
0
 static public int sqlite3_data_count(sqlite3_stmt stmt)
 {
     return(_imp.sqlite3_data_count(stmt.ptr));
 }
Ejemplo n.º 38
0
        static public sqlite3_stmt sqlite3_next_stmt(sqlite3 db, sqlite3_stmt stmt)
        {
            IntPtr prev = IntPtr.Zero;
            if (stmt != null)
            {
                prev = stmt.ptr;
            }

            IntPtr p = _imp.sqlite3_next_stmt(db.ptr, prev);

            if (p == IntPtr.Zero)
            {
                return null;
            }
            else
            {
                return db.find_stmt(p);
            }
        }
Ejemplo n.º 39
0
 static public double sqlite3_column_double(sqlite3_stmt stmt, int index)
 {
     return(_imp.sqlite3_column_double(stmt.ptr, index));
 }
Ejemplo n.º 40
0
 static public string sqlite3_bind_parameter_name(sqlite3_stmt stmt, int index)
 {
     return _imp.sqlite3_bind_parameter_name(stmt.ptr, index);
 }
Ejemplo n.º 41
0
 static public long sqlite3_column_int64(sqlite3_stmt stmt, int index)
 {
     return(_imp.sqlite3_column_int64(stmt.ptr, index));
 }
Ejemplo n.º 42
0
 static public int sqlite3_bind_double(sqlite3_stmt stmt, int index, double val)
 {
     return _imp.sqlite3_bind_double(stmt.ptr, index, val);
 }
Ejemplo n.º 43
0
 static public byte[] sqlite3_column_blob(sqlite3_stmt stmt, int index)
 {
     return(_imp.sqlite3_column_blob(stmt.ptr, index));
 }
Ejemplo n.º 44
0
 static public int sqlite3_bind_null(sqlite3_stmt stmt, int index)
 {
     return _imp.sqlite3_bind_null(stmt.ptr, index);
 }
Ejemplo n.º 45
0
 static public int sqlite3_column_blob(sqlite3_stmt stmt, int index, byte[] result, int offset)
 {
     return(_imp.sqlite3_column_blob(stmt.ptr, index, result, offset));
 }
Ejemplo n.º 46
0
 static public int sqlite3_bind_parameter_count(sqlite3_stmt stmt)
 {
     return _imp.sqlite3_bind_parameter_count(stmt.ptr);
 }
Ejemplo n.º 47
0
 static public int sqlite3_column_type(sqlite3_stmt stmt, int index)
 {
     return(_imp.sqlite3_column_type(stmt.ptr, index));
 }
Ejemplo n.º 48
0
 static public int sqlite3_stmt_busy(sqlite3_stmt stmt)
 {
     return _imp.sqlite3_stmt_busy(stmt.ptr);
 }
Ejemplo n.º 49
0
 static public string sqlite3_column_decltype(sqlite3_stmt stmt, int index)
 {
     return(_imp.sqlite3_column_decltype(stmt.ptr, index));
 }
Ejemplo n.º 50
0
 static public string sqlite3_column_table_name(sqlite3_stmt stmt, int index)
 {
     return _imp.sqlite3_column_table_name(stmt.ptr, index);
 }
Ejemplo n.º 51
0
 public void Open()
 {
     statement = SQLite3.Prepare2(database.Handle, query);
 }
Ejemplo n.º 52
0
 static public double sqlite3_column_double(sqlite3_stmt stmt, int index)
 {
     return _imp.sqlite3_column_double(stmt.ptr, index);
 }
Ejemplo n.º 53
0
 internal void add_stmt(sqlite3_stmt stmt)
 {
     _stmts[stmt.ptr] = stmt;
 }
Ejemplo n.º 54
0
 static public byte[] sqlite3_column_blob(sqlite3_stmt stmt, int index)
 {
     return _imp.sqlite3_column_blob(stmt.ptr, index);
 }
Ejemplo n.º 55
0
 internal void remove_stmt(sqlite3_stmt s)
 {
     _stmts.Remove(s.ptr);
 }
Ejemplo n.º 56
0
 static public string sqlite3_column_decltype(sqlite3_stmt stmt, int index)
 {
     return _imp.sqlite3_column_decltype(stmt.ptr, index);
 }
Ejemplo n.º 57
0
        static public int sqlite3_prepare_v2(sqlite3 db, string sql, out sqlite3_stmt stmt)
        {
            string tail;

            return(sqlite3_prepare_v2(db, sql, out stmt, out tail));
        }