many thanks Massimo,

I had not upgraded (still on 1.x) so the fields option was not available. I 
just did the upgrade and everything now works fine.

On Wednesday, 17 October 2012 22:16:51 UTC+1, Massimo Di Pierro wrote:
>
> You get a list of tuples unless you pass the fields or columns argument. 
> In that case you get a Rows object.
>
> On Wednesday, 17 October 2012 16:13:20 UTC-5, Simon Carr wrote:
>>
>> When I run a query using executesql, what is the object that is returned? 
>> is it a dictionary?
>>
>> The reason I ask is that I am starting to think that the order of fields 
>> being returned to me is not the order that I put them in the SQL statement. 
>> As an example, I am running this code.
>>
>> def clean_qty():
>>     import re
>>     rows = cmdb.executesql("select name, description_short, description, 
>> id_product from product_lang where name like '%X%' or description_short 
>> like '%X%' or description like '%X%'")
>>     for row in rows:
>>         match = re.search('(.+)X|\d*',row[0])
>>         prod_name = match.group(1)
>>         match = re.search('(.+)X|\d*',row[1])
>>         prod_short_description = match.group(1)
>>         cmdb(cmdb.product_lang.id_product==row[3]).update(name=prod_name,
>> description_short=prod_short_description)
>>
>>
>> When I use row[1], I am starting to think that I am not getting back 
>> "description_short". 
>>
>> Is there a way that I can refer to the fields in the result by name 
>> rather than numeric position?
>>
>> Thanks
>> Simon
>>
>

-- 



Reply via email to