我正在开发一个两层 java 应用程序,它基本上在 GUI 中的 JTable 中显示 mySQL 数据库结果。用户在 textArea 中键入 mySQL 查询,然后按下“执行命令”按钮,对应于该命令的 mySQL 结果简单地出现在 JTable 中。
我遇到的问题是当我尝试输入诸如“SELECT * FROM bikes WHERE COST=10000;”之类的查询时 一切都按预期工作并返回结果。但是,如果我输入“select * from bikes where cost=10000;”,则不会返回任何结果,并且基本上没有任何反应,甚至不会出现错误。我尝试在查询上运行“toUpperCase()”,但没有解决问题。
我想知道是什么导致了这个问题?我知道 mySQL 不区分大小写,所以即使我的 SELECT 是小写的,它也应该可以工作......下面的代码是可能导致问题的区域的片段。
public void setQuery(String query) throws SQLException, IllegalStateException{
if(!connectedToDatabase)
throw new IllegalStateException("Not Connected to Database");
String firstWord = query.substring(0, 6);
if(firstWord.toUpperCase().equals("SELECT")){
resultSet = statement.executeQuery(query);
}
else if(firstWord.toUpperCase().equals("INSERT") || firstWord.toUpperCase().equals("DELETE") || firstWord.toUpperCase().equals("UPDATE")){
statement2.executeUpdate(query);
}
metaData = resultSet.getMetaData();
resultSet.last();
numberOfRows = resultSet.getRow();
fireTableStructureChanged();
}