Postgresql记录集输出显示在Ruby黄瓜中

时间:2016-09-15 14:05:23

标签: html sql ruby postgresql cucumber

我在ruby中显示postgresql输出时遇到困难,如果有任何方法可以在html中打印相同的输出。

以下是代码和错误:

PowerManager powerManager = null;
PowerManager.WakeLock wakeLock = null;    

powerManager = (PowerManager) getSystemService(POWER_SERVICE);
wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
                "MyWakelockTag");
wakeLock.acquire();

错误:

 Then(/^selecting source table$/) do
  require 'pg'
  conn = PGconn.connect("localhost",5433,'','', "db", "postgres", "pass")
  result = conn.exec('select EMP_ID,DEPT_ID,DEPT_NAME,EMP_NAME from EMP_TABLE')
  result.each do |row|
    puts row['EMP_ID'] + ' | ' + row['DEPT_ID'] + ' | ' + row['DEPT_NAME'] + ' | ' + row['EMP_NAME']
  end
end

1 个答案:

答案 0 :(得分:0)

您的row[whatever]个值之一为零。如果将所有内容都转换为字符串,它应该可以正常工作。

result.each do |row|
  puts row['EMP_ID'].to_s + ' | ' + row['DEPT_ID'].to_s + ' | ' + row['DEPT_NAME'].to_s + ' | ' + row['EMP_NAME'].to_s
end

更好的是,您可以使用.join()方法执行此操作并同时清理逻辑。

result.each do |row|
  puts row.join(' | ')
end

修改<!/强>

我的坏,那是哈希,而不是数组。给我10分钟,我会给你正确答案......

编辑2

由于它是一个哈希,你需要在那里添加.values方法。

result.each do |row|
  puts row.values.join(' | ')
end