我正在使用以下代码java.lang.NullPointerException
进行调用ResultSet.getDate()
.但是,数据库中的条目似乎不是null
.连接似乎是活动的,因为正在获取其他字段.我究竟做错了什么?
try {
... /* Code that creates a connection and initializes statement */
String query = "SELECT * FROM groups WHERE id = 'testGroup1'";
ResultSet rs = statement.executeQuery(query);
if(rs.next()) {
admin = rs.getString("admin_id");
User.process(admin);
java.sql.Date created_on = rs.getDate("created_on");
System.out.println("Created on = " + created_on.toString());
}
}
catch(Exception e) {
System.out.println("Stuck here");
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
这是输出和堆栈跟踪:
Admin id = 42 // User.process prints the admin id
Stuck here
java.lang.NullPointerException
at com.mysql.jdbc.ResultSet.findColumn(ResultSet.java:966)
at com.mysql.jdbc.ResultSet.getDate(ResultSet.java:1988)
at com.myapp.server.model.Group.initInfo(Group.java:39)
...
Run Code Online (Sandbox Code Playgroud)
我有以下架构:
+-------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+--------------+------+-----+---------+-------+
| id | varchar(50) | NO | PRI | NULL | |
| admin_id | varchar(50) | NO | MUL | NULL | |
| created_on | datetime | NO | | NULL | |
+-------------------+--------------+------+-----+---------+-------+
Run Code Online (Sandbox Code Playgroud)
以及数据库中的以下条目:
+------------+----------+---------------------+
| id | admin_id | created_on |
+------------+----------+---------------------+
| testGroup1 | 42 | 2014-12-15 22:46:31 |
+------------+----------+---------------------+
Run Code Online (Sandbox Code Playgroud)
正如这个问题中提到的,你可以尝试这样的事情吗?
我也从上面提到的问题中获取代码。
Timestamp timestamp = resultSet.getTimestamp(i);
if (timestamp != null)
date = new java.util.Date(timestamp.getTime()));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5316 次 |
最近记录: |