internal override void Bind_DateTime(SQLiteStatement stmt, SQLiteConnectionFlags flags, int index, DateTime dt)
        {
            SQLiteStatementHandle _sqliteStmt;

            switch (this._datetimeFormat)
            {
            case SQLiteDateFormats.Ticks:
            case SQLiteDateFormats.JulianDay:
            case SQLiteDateFormats.UnixEpoch:
            {
                base.Bind_DateTime(stmt, flags, index, dt);
                return;
            }

            case SQLiteDateFormats.ISO8601:
            {
                if (HelperMethods.LogBind(flags))
                {
                    if (stmt != null)
                    {
                        _sqliteStmt = stmt._sqlite_stmt;
                    }
                    else
                    {
                        _sqliteStmt = null;
                    }
                    SQLite3.LogBind(_sqliteStmt, index, dt);
                }
                this.Bind_Text(stmt, flags, index, base.ToString(dt));
                return;
            }

            default:
            {
                if (HelperMethods.LogBind(flags))
                {
                    if (stmt != null)
                    {
                        _sqliteStmt = stmt._sqlite_stmt;
                    }
                    else
                    {
                        _sqliteStmt = null;
                    }
                    SQLite3.LogBind(_sqliteStmt, index, dt);
                }
                this.Bind_Text(stmt, flags, index, base.ToString(dt));
                return;
            }
            }
        }
        internal override void Bind_Text(SQLiteStatement stmt, SQLiteConnectionFlags flags, int index, string value)
        {
            SQLiteStatementHandle _sqliteStmt = stmt._sqlite_stmt;

            if (HelperMethods.LogBind(flags))
            {
                SQLite3.LogBind(_sqliteStmt, index, value);
            }
            SQLiteErrorCode sQLiteErrorCode = UnsafeNativeMethods.sqlite3_bind_text16(_sqliteStmt, index, value, value.Length * 2, (IntPtr)(-1));

            if (sQLiteErrorCode != SQLiteErrorCode.Ok)
            {
                throw new SQLiteException(sQLiteErrorCode, this.GetLastError());
            }
        }