problem in mysql and ruby data fetching

Hi,     Just yesterday I successfully installed ruby in my pc, means I am new in this technology.     Today I am trying to fetch the data in my ruby application and successfully done this. Now I want to speed up the performance of the fetching data by making use of prepare and execute method.In case of select query also I am using this like

   require 'mysql'    mysql = Mysql.init()    mysql.connect('localhost','root','','ruby')    selection = mysql.prepare("select * from test where id=?")    result = selection.execute(2)    while row = result.fetch_hash do      puts "The name is: #{row['name']}"    end    mysql.close();

So when I run this small part of the application I am getting the following error:        in `<top (required)>': undefined method `fetch_hash' for #<Mysql::Stmt:0xf9d128> (NoMethodError)   from -e:1:in `load'   from -e:1:in `<main>'

But if we write code like:    require 'mysql'    mysql = Mysql.init()    mysql.connect('localhost','root','','ruby')    result = mysql.query("select * from test where id=2")    while row = result.fetch_hash do      puts "The name is: #{row['name']}"    end    mysql.close();

then my application is running without error.

Now my question is, if we try to fetch the data by making use of prepare and execute method then what will be the available methods for showing the records?

Srimanta Chakraborty wrote in post #1043667:

Hi,     Just yesterday I successfully installed ruby in my pc, means I am new in this technology.     Today I am trying to fetch the data in my ruby application and successfully done this. Now I want to speed up the performance of the fetching data by making use of prepare and execute method.In case of select query also I am using this like

   require 'mysql'    mysql = Mysql.init()    mysql.connect('localhost','root','','ruby')    selection = mysql.prepare("select * from test where id=?")    result = selection.execute(2)    while row = result.fetch_hash do      puts "The name is: #{row['name']}"    end    mysql.close();

So when I run this small part of the application I am getting the following error:        in `<top (required)>': undefined method `fetch_hash' for #<Mysql::Stmt:0xf9d128> (NoMethodError)   from -e:1:in `load'   from -e:1:in `<main>'

But if we write code like:    require 'mysql'    mysql = Mysql.init()    mysql.connect('localhost','root','','ruby')    result = mysql.query("select * from test where id=2")    while row = result.fetch_hash do      puts "The name is: #{row['name']}"    end    mysql.close();

then my application is running without error.

Now my question is, if we try to fetch the data by making use of prepare and execute method then what will be the available methods for showing the records?

If I use the first option and use fetch method instead of fetch_hash method then I am getting the records but by using only index, the array is fetching not by column name. So how to get that?

I don't know the answer to your question, but I see you are not using Rails, just Ruby. Are you intending to use Rails or is this to be a native Ruby application? This is principally an RoR list, someone here may well know the answer but there may be better places to ask for straight Ruby questions.

Colin

Colin Law wrote in post #1043686: