我正在试验数据库操作。例如,这段代码为什么不给预期的输出?
begin
db_con = PG.connect :dbname => 'sureshkumar', :user => 'sureshkumar'
db_con.prepare 'get_result', "SELECT * from users;"
users_name = db_con.exec_prepared 'get_result'
if users_name != nil
puts users_name.values
else
puts "There is no users available in the table users"
end
rescue PG::Error => e
puts e.message
ensure
db_con.close if db_con
end
表users
只包含两列。他们是,
user_id
user_name
如果表不包含任何行,则exec_prepared
语句不返回任何行。在这种情况下,为什么if条件不成为假?如何检查exec_prepared
方法是否不返回任何行?
你不需要密码来连接吗?如果你简单地写'if user_name',忽略'!= nil'部分会发生什么? –
我没有设置数据库的密码。所以,我不需要密码来连接。 – suresh