私はデータベース操作を試していました。例えば、このコードでは、期待される出力が得られないのはなぜですか?
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
は、2つの列を含んでいます。彼らは、表が任意の行が含まれていない場合は、exec_prepared
文は任意の行を返さない、
user_id
user_name
です。この場合、なぜif条件がfalseにならないのですか?メソッドで行が返されないかどうかを確認するにはどうすればよいですか?
パスワードを入力する必要はありませんか? '!= nil'部分を省略して、単に' if users_name'と書くとどうなりますか? –
私はデータベースのパスワードを設定しませんでした。だから、私は接続するためのパスワードは必要ありません。 – suresh