데이터베이스 작업을 실험하고있었습니다. 예를 들어,이 코드가 예상되는 결과를 제공하지 않는 이유는 무엇입니까?
는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
는 두 개의 열이 포함되어 있습니다. 그들은 테이블이 어떤 행을 포함하지 않는 경우, exec_prepared
문이 어떤 행을 반환하지 않습니다
user_id
user_name
이다. 이 경우 if 조건이 false가되지 않는 이유는 무엇입니까? exec_prepared
메서드가 어떤 행도 반환하지 않는지 어떻게 확인합니까?
암호를 입력하여 연결 하시겠습니까? '! = nil' 부분을 생략하면'if users_name' 만 쓰면 어떻게 될까요? –
데이터베이스 암호를 설정하지 않았습니다. 따라서 암호를 입력 할 필요가 없습니다. – suresh