Esempio n. 1
0
 public static double GetFloat2(this SQLitePCL.ISQLiteStatement stmt, string name)
 {
     if (stmt.DataType(name) == SQLitePCL.SQLiteType.FLOAT)
     {
         return(stmt[name] == null ? 0.0 : stmt.GetFloat(name));
     }
     else if (stmt.DataType(name) == SQLitePCL.SQLiteType.INTEGER)
     {
         return(stmt[name] == null ? 0.0 : stmt.GetInteger(name));
     }
     return(0.0);
 }
        /// <summary>
        /// Disposes and finalizes the statement
        /// </summary>
        public void Dispose()
        {
            if (_sqlite_stmt != null)
            {
                _sqlite_stmt.Dispose();
            }
            _sqlite_stmt = null;

            _paramNames  = null;
            _paramValues = null;
            _sql         = null;
            _sqlStmt     = null;
            _paramList   = null;
        }
        /// <summary>
        /// Initializes the statement and attempts to get all information about parameters in the statement
        /// </summary>
        /// <param name="sqlbase">The base SQLite object</param>
        /// <param name="stmt">The statement</param>
        /// <param name="strCommand">The command text for this statement</param>
        /// <param name="previous">The previous command in a multi-statement command</param>
        internal SqliteStatement(SqliteBase sqlbase, SQLitePCL.ISQLiteStatement stmt, string strCommand, SqliteStatement previous)
        {
            _sql               = sqlbase;
            _sqlite_stmt       = stmt;
            this._sqlStatement = strCommand;

            // Determine parameters for this statement (if any) and prepare space for them.
            int    nCmdStart = 0;
            int    n         = _sql.Bind_ParamCount(this);
            int    x;
            string s;

            if (n > 0)
            {
                if (previous != null)
                {
                    nCmdStart = previous._unnamedParameters;
                }

                _paramNames  = new string[n];
                _paramValues = new SqliteParameter[n];

                for (x = 0; x < n; x++)
                {
                    s = _sql.Bind_ParamName(this, x + 1);
                    if (String.IsNullOrEmpty(s))
                    {
                        s = String.Format(CultureInfo.InvariantCulture, ";{0}", nCmdStart);
                        nCmdStart++;
                        _unnamedParameters++;
                    }
                    _paramNames[x]  = s;
                    _paramValues[x] = null;
                }
            }
        }
Esempio n. 4
0
 public static string GetText2(this SQLitePCL.ISQLiteStatement stmt, string name)
 {
     return(stmt[name] == null ? null : stmt.GetText(name));
 }
Esempio n. 5
0
 public static long GetInteger2(this SQLitePCL.ISQLiteStatement stmt, string name)
 {
     return(stmt[name] == null ? 0 : stmt.GetInteger(name));
 }
        /// <summary>
        /// Disposes and finalizes the statement
        /// </summary>
        public void Dispose() {
            if (_sqlite_stmt != null) {
                _sqlite_stmt.Dispose();
            }
            _sqlite_stmt = null;

            _paramNames = null;
            _paramValues = null;
            _sql = null;
            _sqlStmt = null;
            _paramList = null;
        }
        /// <summary>
        /// Initializes the statement and attempts to get all information about parameters in the statement
        /// </summary>
        /// <param name="sqlbase">The base SQLite object</param>
        /// <param name="stmt">The statement</param>
        /// <param name="strCommand">The command text for this statement</param>
        /// <param name="previous">The previous command in a multi-statement command</param>
        internal SqliteStatement(SqliteBase sqlbase, SQLitePCL.ISQLiteStatement stmt, string strCommand, SqliteStatement previous) {
            _sql = sqlbase;
            _sqlite_stmt = stmt;
            this._sqlStatement = strCommand;

            // Determine parameters for this statement (if any) and prepare space for them.
            int nCmdStart = 0;
            int n = _sql.Bind_ParamCount(this);
            int x;
            string s;

            if (n > 0) {
                if (previous != null)
                    nCmdStart = previous._unnamedParameters;

                _paramNames = new string[n];
                _paramValues = new SqliteParameter[n];

                for (x = 0; x < n; x++) {
                    s = _sql.Bind_ParamName(this, x + 1);
                    if (String.IsNullOrEmpty(s)) {
                        s = String.Format(CultureInfo.InvariantCulture, ";{0}", nCmdStart);
                        nCmdStart++;
                        _unnamedParameters++;
                    }
                    _paramNames[x] = s;
                    _paramValues[x] = null;
                }
            }
        }