Ich habe mit Datenbankoperationen experimentiert. Zum BeispielWarum gibt dieser Code nicht die erwartete Ausgabe?
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
Die Tabelle users
enthält nur zwei Spalten. Sie sind
user_id
user_name
Wenn die Tabelle keine Zeile enthält, die exec_prepared
Anweisung keine Zeile zurückgibt. Warum wird die if-Bedingung in diesem Fall nicht falsch? Wie überprüfe ich, ob die Methode exec_prepared
keine Zeile zurückgibt?
brauchst du kein passwort zum verbinden? Was passiert, wenn Sie einfach 'if users_name' schreiben und den'! = Nil' Teil weglassen? –
Ich habe das Passwort für die Datenbank nicht festgelegt. Also brauche ich kein Passwort zum Verbinden. – suresh