[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Iterating through a database result

Dan Webb

10/23/2008 3:16:00 PM

Hi all,

I've stumbled again. I'm currently trying to iterate though a result
output from PostgreSQL. Here's the database; I've been able to query
that I am getting all 5 records, however I don't seem to be able to
iterate through the second column i.e. 1,2,3,4,5.=20

=20

7494;"1";"The origin (0,0) is top left.";TRUE;"1.0";"NOTE: Question
imported from map";"Correct.";;

7494;"2";"The origin (0,0) is top
right.";FALSE;"-0.25";"";"Incorrect.";;

7494;"3";"The origin (0,0) is bottom
left.";FALSE;"-0.25";"";"Incorrect.";;

7494;"4";"The origin (0,0) is bottom
right.";FALSE;"-0.25";"";"Incorrect.";;

7494;"5";"The origin (0,0) is located in the centre of the
screen.";FALSE;"-0.25";"";"Incorrect.";;

=20

=20

What I'm currently using is:

num_options =3D res_qo.to_a.length

puts num_options

puts res_qo.to_a

for i in (1..num_options)

puts res_qo.to_ary[0][1]

end

=20

The result is an array of arrays by the looks of it (unless someone can
point out I've got the wrong end of the stick), but I can't move on from
the first record and am currently getting:

1

1

1

1

1

=20

Any ideas would be great, as this should be one of the last problems I
have to sort out for this migration script.

=20

Cheers,

Dan

=20


3 Answers

Hugh Sasse

10/23/2008 3:25:00 PM

0



On Fri, 24 Oct 2008, Daniel Malcolm Webb [dbw] wrote:

> Hi all,
>
> I've stumbled again. I'm currently trying to iterate though a result
> output from PostgreSQL. Here's the database; I've been able to query
> that I am getting all 5 records, however I don't seem to be able to
> iterate through the second column i.e. 1,2,3,4,5.
>
>
>
> 7494;"1";"The origin (0,0) is top left.";TRUE;"1.0";"NOTE: Question
> imported from map";"Correct.";;
>
> 7494;"2";"The origin (0,0) is top
> right.";FALSE;"-0.25";"";"Incorrect.";;
>
[...]
>
> What I'm currently using is:
>
> num_options = res_qo.to_a.length
>
> puts num_options
>
> puts res_qo.to_a
>
> for i in (1..num_options)
>
> puts res_qo.to_ary[0][1]
puts res_qo.to_a[i][1]
>
> end
>

botp

10/23/2008 3:47:00 PM

0

On Thu, Oct 23, 2008 at 11:15 PM, Daniel Malcolm Webb [dbw]
<dbw@aber.ac.uk> wrote:
>...
> What I'm currently using is:
> num_options = res_qo.to_a.length
> puts num_options
> puts res_qo.to_a
> for i in (1..num_options)
> puts res_qo.to_ary[0][1]
^^^^^^^
i think that should be [i][1]
> end

also, you are reconverting req_qo to array in each loop when in fact
you've already created it at the beginning

try

res_qo.to_a.each do |row|
puts row[1]
end

kind regards -botp

Dan Webb

10/24/2008 8:19:00 AM

0

ah brilliant that worked. Thank you very much :)

--
Posted via http://www.ruby-....