コード例 #1
0
ファイル: DBObject.py プロジェクト: benadida/sessionlock
    def selectAll(cls, order_by = None, offset = None, limit = None):
        sql = "select "
        sql += cls.all_fields_sql(field_substitution=True)
        sql += " from " + cls.TABLE_NAME

        if order_by != None:
            sql += " order by " + order_by

        if offset:
            sql += " offset " + offset

            if limit:
                sql += " limit " + limit

        rows = DB.multirow(sql)

        if rows == None:
            return None

        return cls.multirow_to_array(rows)
コード例 #2
0
ファイル: DBObject.py プロジェクト: benadida/sessionlock
    def selectAllByKeys(cls, keys, order_by = None, offset = None, limit = None):
        for key_name in keys.keys():
            if key_name not in cls.FIELDS:
                return None

        sql = "select "
        sql += cls.all_fields_sql(field_substitution=True)
        sql += " from " + cls.TABLE_NAME
        sql += " where "
        
        sql_clauses = []
        for k,v in keys.items():        
            # null or not null
            if v:
                sql_value = " = " + str(DB.dbstr(v))
            else:
                sql_value = " is NULL "
            
            sql_clauses.append(k + sql_value)

        sql += " and ".join(sql_clauses)

        if order_by:
            sql += " order by " + order_by

        # add offset and limit
        if offset:
            sql += " offset " + offset

            if limit:
                sql += " limit " + limit

        rows = DB.multirow(sql)

        if rows == None:
            return None

        return cls.multirow_to_array(rows)