Hi Denes and also Massimo and Richard,

3 spot on answers in the range of 30 minutes. I am honestly impressed
and again convinced to have chosen the right framework.

Seeing the examples and playing with the 'for' and '*' operator,  the
way to do it is clear now.

Thanks all of you

Markus

On Jan 24, 4:51 pm, DenesL <denes1...@yahoo.ca> wrote:
> Hi Markus,
>
> I would do:
>
> FF=[Field('y%s'%k) for k in range(1,101)]
> db.define_table('x',*FF)
>
> To access a field via an index just use:
>
> db.x['y%s'%index]
>
> Denes.
>
> On Jan 24, 8:38 am, Markus Schmitz <mschm...@soft-impact.com> wrote:
>
>
>
>
>
>
>
> > Hi everybody,
>
> > I have the requirement to treat a range of table fields like an array.
> > Example:
>
> > I have a table x with fields y1, y2, ...., y100. In normal SQL I could
> > create the table by issuing an 'alter table x add field y...'
> > statement in a loop and I would be able to access the fields by
> > constructing the appropriate SQL command in a string.
>
> > So instead of using an index i and writing in theory: select y[i]
> > from x
> > I would write: ExecuteSQL("select y" + i + " from x)"
>
> > But in web2py:
>
> > Question 1: How can I create such a table definition in web2py without
> > listing all fields manually?
>
> > Question 2: How can I use the DAL to access these fields using an
> > index and avoid using the ExecuteSQL method?
>
> > Thanks in advance,
>
> > Markus
>
> > P.S.: I know I could simply create a small table, having two fields,
> > basically "i" and "y", where "i" is part of the index. But in my case
> > I end up with millions of records and quite an overhead for each data
> > point. I tried it and performance was not satisfactory. But I am open
> > for alternative suggestions.

Reply via email to