【发布时间】:2014-09-25 14:43:44
【问题描述】:
我正在尝试对现有 H2 数据库进行基本查询。我的连接工作正常,我能够取回一些数据,但数据很奇怪,我实际上无法从表中获取列。这是我的代码:
import java.sql.{Connection, DriverManager, ResultSet}; // Import necessary SQL libraries
class H2 {
val connection_string = "jdbc:h2:tcp://localhost//tmp/UXDemo;user=sa;password=admin"
Class.forName("org.h2.Driver") // Make a call to H2 Driver so it can be used
def read = {
// Create a Connection Object
val connection = DriverManager.getConnection(connection_string)
try {
// Ensure SQL Statements are Read-Only
val statement = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)
// Execute Given SQL Query
val results = statement.executeQuery("SELECT * FROM \"event\"")
while (results.next()) {
println(results)
}
} finally {
connection.close
}
}
}
当我运行它时,它编译得很好,我得到这个作为回报:
s0: columns: 6 rows: 72 pos: 0
rs0: columns: 6 rows: 72 pos: 1
rs0: columns: 6 rows: 72 pos: 2
rs0: columns: 6 rows: 72 pos: 3
rs0: columns: 6 rows: 72 pos: 4
rs0: columns: 6 rows: 72 pos: 5
rs0: columns: 6 rows: 72 pos: 6
rs0: columns: 6 rows: 72 pos: 7
rs0: columns: 6 rows: 72 pos: 8
rs0: columns: 6 rows: 72 pos: 9
rs0: columns: 6 rows: 72 pos: 10
rs0: columns: 6 rows: 72 pos: 11
rs0: columns: 6 rows: 72 pos: 12
rs0: columns: 6 rows: 72 pos: 13
rs0: columns: 6 rows: 72 pos: 14
rs0: columns: 6 rows: 72 pos: 15
rs0: columns: 6 rows: 72 pos: 16
rs0: columns: 6 rows: 72 pos: 17
rs0: columns: 6 rows: 72 pos: 18
rs0: columns: 6 rows: 72 pos: 19
rs0: columns: 6 rows: 72 pos: 20
rs0: columns: 6 rows: 72 pos: 21
rs0: columns: 6 rows: 72 pos: 22
rs0: columns: 6 rows: 72 pos: 23
rs0: columns: 6 rows: 72 pos: 24
rs0: columns: 6 rows: 72 pos: 25
rs0: columns: 6 rows: 72 pos: 26
rs0: columns: 6 rows: 72 pos: 27
rs0: columns: 6 rows: 72 pos: 28
rs0: columns: 6 rows: 72 pos: 29
rs0: columns: 6 rows: 72 pos: 30
rs0: columns: 6 rows: 72 pos: 31
rs0: columns: 6 rows: 72 pos: 32
rs0: columns: 6 rows: 72 pos: 33
rs0: columns: 6 rows: 72 pos: 34
rs0: columns: 6 rows: 72 pos: 35
rs0: columns: 6 rows: 72 pos: 36
rs0: columns: 6 rows: 72 pos: 37
rs0: columns: 6 rows: 72 pos: 38
rs0: columns: 6 rows: 72 pos: 39
rs0: columns: 6 rows: 72 pos: 40
rs0: columns: 6 rows: 72 pos: 41
rs0: columns: 6 rows: 72 pos: 42
rs0: columns: 6 rows: 72 pos: 43
rs0: columns: 6 rows: 72 pos: 44
rs0: columns: 6 rows: 72 pos: 45
rs0: columns: 6 rows: 72 pos: 46
rs0: columns: 6 rows: 72 pos: 47
rs0: columns: 6 rows: 72 pos: 48
rs0: columns: 6 rows: 72 pos: 49
rs0: columns: 6 rows: 72 pos: 50
rs0: columns: 6 rows: 72 pos: 51
rs0: columns: 6 rows: 72 pos: 52
rs0: columns: 6 rows: 72 pos: 53
rs0: columns: 6 rows: 72 pos: 54
rs0: columns: 6 rows: 72 pos: 55
rs0: columns: 6 rows: 72 pos: 56
rs0: columns: 6 rows: 72 pos: 57
rs0: columns: 6 rows: 72 pos: 58
rs0: columns: 6 rows: 72 pos: 59
rs0: columns: 6 rows: 72 pos: 60
rs0: columns: 6 rows: 72 pos: 61
rs0: columns: 6 rows: 72 pos: 62
rs0: columns: 6 rows: 72 pos: 63
rs0: columns: 6 rows: 72 pos: 64
rs0: columns: 6 rows: 72 pos: 65
rs0: columns: 6 rows: 72 pos: 66
rs0: columns: 6 rows: 72 pos: 67
rs0: columns: 6 rows: 72 pos: 68
rs0: columns: 6 rows: 72 pos: 69
rs0: columns: 6 rows: 72 pos: 70
rs0: columns: 6 rows: 72 pos: 71
我实际上试图从一个列中SELECT,但它说该列不存在,所以我把它剥离出来,想看看裸露的结果是什么,它们没有多大意义。我的代码中是否缺少某些内容,还是 H2 配置问题?
【问题讨论】:
-
你尝试过类似 results.getString 的方法吗?
-
所以我添加了
results.getString()并将列名text作为字符串并返回正确。但是,当我将该列查询为SELECT text FROM "event"时,我收到一个错误,即它不存在。我是否总是需要使用SELECT * FROM "event"查询所有内容?