java - 简单查询中的 JavaFX 列名不明确错误
问题描述
不明确的列名错误是简单查询:
String SQL = "SELECT divisions.division_id, divisions.volume_id, divisions.division_head_count, divisions.division_heading, divisions.messages_bounds FROM divisions";
ResultSet resultSet = null;
try {
resultSet = connection.createStatement().executeQuery(SQL);
} catch (SQLException throwables) {
throwables.printStackTrace();
}
if (resultSet != null) {
int count = 1;
while (true) {
try {
if (!resultSet.next()) break;
} catch (SQLException throwables) {
throwables.printStackTrace();
}
try {
int division_id = resultSet.getInt("division_id");
int volume_id = resultSet.getInt("volume_id");
String division_heading = resultSet.getString("division_heading");
int division_head_count = resultSet.getInt("division_head_count");
String messages = resultSet.getString("messages_bounds");
division_id_list.add("" + division_id);
volume_id_list.add("" + volume_id);
division_heading_list.add(division_head_count + ") " + division_heading+" - ("+ messages+")");
totalHadis_list.add(messages);
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
并发生以下错误:
java.sql.SQLException: ambiguous column: 'division_id'
at org.sqlite.RS.findColumn(RS.java:108)
at org.sqlite.RS.getInt(RS.java:228)
at sample.HadisReading.showHadisDivision(HadisReading.java:282)
at sample.HadisReading$3.handle(HadisReading.java:200)
at sample.HadisReading$3.handle(HadisReading.java:190)
我到处搜索和谷歌,但没有找到富有成效的解决方案。我已经知道这个问题是由于多个表中的列名相同而发生的。但是,我尝试了很多答案,但没有运气。这些答案描述了关于表连接或其他不适合我情况的内容。就我而言,这是一个简单的查询。
附注:我在同一个列名中有多个表:“division_id”。
我怎样才能摆脱这个问题?任何想法 ?
解决方案
最后我找到了解决方法。由于这个异常来自多个表中的相同列名,所以,我的诀窍是,为了从列中获取字符串,除了列标签之外,我还使用了列索引:
我用过 :
int division_id = resultSet.getInt(1);
代替 :
int division_id = resultSet.getInt("division_id");
错误消失了,Alhamdulillah。
推荐阅读
- python-3.x - Python 如果与 or 一起使用时测试条件失败
- java - 休眠查询以过滤嵌套对象列表中的结果
- linux - How to list non-empty directories with the command find or ls?
- python - 如何在 django 中添加链接预览?
- pci - PCIe 本地时钟中的准确性意味着什么?
- python - 如何根据包含条件的字符串创建新的数据框列
- go - 如何将 []interface 转换为 []struct
- php - laravel 中未定义的索引“值”
- html - 未显示悬停标题时
- java - 捕获 InputStream 字符模式并将以下字符分配给 String