Skip to content
Siminov Framework edited this page Jan 17, 2016 · 23 revisions

Select

Database class provides following API's to fetch tuples from table.

1. Select API

Android API: Select
    public ISelect select() throws DatabaseException;
  • ISelect: Exposes API's to provide information based on which tuples will be fetched from table.
    public interface ISelect {

        public ISelect distinct();
	
        public ISelectClause where(String column);
	
        public ISelect whereClause(String whereClause);
	
        public ISelectClause and(String column);
	
        public ISelectClause or(String column);
	
        public ISelect orderBy(String...columns);
	
        public ISelect ascendingOrderBy(String...columns);
	
        public ISelect descendingOrderBy(String...columns);

        public ISelect limit(int limit);
	
        public ISelect groupBy(String...columns);
	
        public ISelectClause having(String column);
	
        public ISelect havingClause(String havingClause);
	
        public ISelect columns(String...columns);
	
        public Object[] execute() throws DatabaseException;
	
    }
  • ISelectClause: Exposes API's to provide condition to where clause based on which tuples will be fetched from table.
    public interface ISelectClause {

        public ISelect equalTo(String value);

        public ISelect notEqualTo(String value);
	
        public ISelect greaterThan(String value);

        public ISelect greaterThanEqual(String value);
	
        public ISelect lessThan(String value);
	
        public ISelect lessThanEqual(String value);
	
        public ISelect between(String start, String end);
	
        public ISelect like(String like);
	
        public ISelect in(String...values);
	
    }
  • Android Sample: Select
     Lession[] lessions = new Lession().select().where(Lession.TITLE).equalTo(bookTitle).execute();
iOS API: Select
    - (id<SICISelect>)select;
  • SICISelect: Exposes API's to provide information based on which tuples will be fetched from table.
    @protocol SICISelect <NSObject>

    - (id<SICISelect>)distinct;

    - (id<SICISelectClause>)where:(NSString *)column;

    - (id<ISelect>)whereClause:(NSString *)whereClause;

    - (id<SICISelectClause>)and:(NSString *)column;

    - (id<SICISelectClause>)or:(NSString *)column;

    - (id<SICISelect>)orderBy:(NSArray *)columns;

    - (id<SICISelect>)ascendingOrderBy:(NSArray *)columns;

    - (id<SICISelect>)descendingOrderBy:(NSArray *)columns;

    - (id<SICISelect>)limit:(int)limit;

    - (id<SICISelect>)groupBy:(NSArray *)columns;

    - (id<SICISelectClause>)having:(NSString *)column;

    - (id<SICISelect>)havingClause:(NSString *)havingClause;

    - (id<SICISelect>)columns:(NSArray *)column;

    - (id)execute;

    @end
  • SICISelectClause: Exposes API's to provide condition to where clause based on which tuples will be fetched from table.
    @protocol SICISelectClause <NSObject>

    - (id<SICISelect>)equalTo:(id)value;

    - (id<SICISelect>)notEqualTo:(id)value;

    - (id<SICISelect>)greaterThan:(id)value;

    - (id<SICISelect>)greaterThanEqual:(id)value;

    - (id<SICISelect>)lessThan:(id)value;
 
    - (id<SICISelect>)lessThanEqual:(id)value;

    - (id<SICISelect>)between:(id)start end:(id)end;

    - (id<SICISelect>)like:(id)like;

    - (id<SICISelect>)in:(id)values;
 
    @end
  • iOS Sample: Select
    NSArray *lessions = [[[[[[Lession alloc] init] select] where:[Lession TITLE]] equalTo:bookTitle] execute];
Windows API: Select
    public ISelect Select() throws DatabaseException;
  • ISelect: Exposes API's to provide information based on which tuples will be fetched from table.
    public interface ISelect 
    {

        ISelect Distinct();
	
        ISelectClause Where(String column);
	
        ISelect whereClause(String whereClause);
	
        ISelectClause And(String column);
	
        ISelectClause Or(String column);
	
        ISelect OrderBy(String[] columns);
	
        ISelect AscendingOrderBy(String[] columns);
	
        ISelect DescendingOrderBy(String[] columns);

        ISelect Limit(int limit);
	
        ISelect GroupBy(String[] columns);
	
        ISelectClause Having(String column);
	
        ISelect HavingClause(String havingClause);
	
        ISelect Columns(String...columns);
	
        Object[] Execute();
	
    }
  • ISelectClause: Exposes API's to provide condition to where clause based on which tuples will be fetched from table.
    public interface ISelectClause 
    {

        ISelect EqualTo(String value);

        ISelect NotEqualTo(String value);
	
        ISelect GreaterThan(String value);
	
        ISelect GreaterThanEqual(String value);
	
        ISelect LessThan(String value);
	
        ISelect LessThanEqual(String value);
	
        ISelect Between(String start, String end);
	
        ISelect Like(String like);
	
        ISelect In(String...values);
	
    }
  • Windows Sample: Select
    Lession[] lessions = new Lession().Select().Where(Lession.TITLE).EqualTo(bookTitle).Execute();
JavaScript API: Select
    this.select = function() {};
  • ISelect: Exposes API's to provide information based on which tuples will be fetched from table.
    function ISelect(select) {

        return {

            interfaceName: "ISelect",

            distinct: select.distinct,

            where: select.where,

            whereClause: select.whereClause,

            and: select.and,

            or: select.or,

            orderBy: select.orderBy,

            ascendingOrderBy: select.ascendingOrderBy,

            descendingOrderBy: select.descendingOrderBy,

            limit: select.limit,

            groupBy: select.groupBy,

            having: select.having,

            havingClause: select.havingClause,

            columns: select.columns,

            execute: select.execute,

            executeAsync: select.executeAsync
        }
    }
  • ISelectClause: Exposes API's to provide condition to where clause based on which tuples will be fetched from table.
    function ISelectClause(clause) {

        return {

            interfaceName: "ISelectClause",

            equalTo: clause.equalTo,

            notEqualTo: clause.notEqualTo,

            greaterThan: clause.greaterThan,

            greaterThanEqual: clause.greaterThanEqual,

            lessThan: clause.lessThan,

            lessThanEqual: clause.lessThanEqual,

            between: clause.between,

            like: clause.like,

            'in': clause['in']
        }
    }
  • JavaScript Sample: Select
            /** Select Sample **/

    var lessions = new Lession().select().where(Lession.TITLE).equalTo(bookTitle).execute();
            /** Select Async Sample **/
 
    var callback = new Callback();
    callback.onSuccess = function(books) {

    }


    new Book().select().executeAsync(callback);
            /** Select Async Transaction Sample **/

    var callback = new Callback();
    callback.onExecute = function(transaction) {

        var selectCallback = new Callback();
        selectCallback.onSuccess = function(books) {

        }

        new Book().select().executeAsync(selectCallback, transaction);
    }

    callback.onSuccess = function() {

    }

    var databaseDescriptor = new Book().getDatabaseDescriptor();
    Database.beginTransaction(databaseDescriptor, callback);

2. Select Manually API

Android API: Select Manually
    public Object[] select(String query) throws DatabaseException;
  • Android Sample: Select Manually
       String query = "SELECT * FROM BOOK";
	
       Book[] books = null;
       try {
           books = new Book().select(query);
       } catch(DatabaseException de) {
		//Log it.
       }
iOS API: Select Manually
    - (NSArray *)select:(NSString *)query;
  • iOS Sample: Select Manually
    NSString *query = @"SELECT * FROM BOOK";
	
    NSArray *books = nil;
    @try {
        books = [[[Book alloc] init] select:query];
    } @catch(SICDatabaseException *databaseException) {
		//Log it.
    }
Windows API: Select Manually
    public Object[] Select(String query) throws DatabaseException;
  • Windows Sample: Select Manually
       String query = "SELECT * FROM BOOK";
	
       Book[] books = null;
       try {
           books = new Book().Select(query);
       } catch(DatabaseException de) {
		//Log it.
       }
JavaScript API: Select Manually
    this.select = function(query) {};
  • JavaScript Sample: Select Manually
       var query = "SELECT * FROM BOOK";
	
       var books = null;
       try {
           books = new Book().select(query);
       } catch(DatabaseException de) {
		//Log it.
       }