public bool Read()
        {
            bool        bContinue = false;
            SQLiteField field;

            SQLiteDatabase.Result exitCode = SQLiteDatabase.sqlite3_step(this.hStmt);
            if (exitCode == SQLiteDatabase.Result.SQLITE_DONE)
            {
                //return false;
            }
            else if (exitCode == SQLiteDatabase.Result.SQLITE_ROW)
            {
                int columns = SQLiteDatabase.sqlite3_column_count(hStmt);
                Fields.Clear();
                for (int column = 0; column < columns; column++)
                {
                    field        = new SQLiteField(hStmt);
                    field.column = column;
                    field.name   = Marshal.PtrToStringAnsi(SQLiteDatabase.sqlite3_column_name(hStmt, column));
                    field.Read();
                    Fields.Add(field.name, field);
                }

                bContinue = true;
            }
            else
            {
                throw new AmazonClientException(exitCode + "\n" + SQLiteDatabase.sqlite3_errmsg(db.hDb));
            }
            return(bContinue);
        }
 public SQLiteStatement Step()
 {
     SQLiteDatabase.Result eResult = SQLiteDatabase.sqlite3_step(this.hStmt);
     if (eResult != SQLiteDatabase.Result.SQLITE_DONE)
     {
         throw new AmazonClientException(db.ErrorMsg());
     }
     return(this);
 }
 internal SQLiteStatement(SQLiteDatabase db, string query)
 {
     this.db = db;
     SQLiteDatabase.Result exitCode = SQLiteDatabase.sqlite3_prepare_v2(db.hDb, query, -1, out hStmt, IntPtr.Zero);
     if (exitCode != SQLiteDatabase.Result.SQLITE_OK)
     {
         throw new AmazonClientException(exitCode + " - " + db.ErrorMsg());
     }
 }