我对 Java 编程还很陌生,并且遇到了一些困难。我四处搜寻,但无法得到我想要做的事情的确切答案。
基本上,我创建了一个 3 层应用程序,它使用在服务器上运行的 servlet 来通过 JDBC 访问 mySQL 数据库。
在大多数情况下,我的应用程序运行良好。我能够运行查询并显示结果。
问题是,我需要根据我的查询(一个字符串)实现一些逻辑。
例如,
ex1_query:插入零件值('S5'、'P6'、'J7'、50);
ex2_query:插入零件值('S5'、'P6'、'J7'、400);
我的查询正在通过 HTML 表单作为单个字符串提交。如您所见,ex1_query 和 ex2_query 之间的唯一区别是它们的最后一个值(50 和 400)。
逻辑是,如果最后一个值 >=100,我需要实现一些东西......
如果该值为 <100,则只需按指定运行查询。
我的查询将始终以该格式输入,但最后一个值可能在 0 - 1000 之间变化。
所以我的问题是......我怎样才能解析字符串中的最后一个 int ?这样我就可以确定是否应该实现某些特定逻辑?
我知道这听起来很简单,但我遇到了一些麻烦。任何帮助或指导将不胜感激。谢谢
最佳答案
但是如果您不想使用Preparedstatement
那么这里还有一个选择
String ex1_query = "insert into parts values ('S5', 'P6', 'J7', 50);";
String lastValue = ex1_query.substring( ex1_query.lastIndexOf(",")+1, ex1_query.lastIndexOf(")")).trim();
Integer lastNumber = null;
try {
lastNumber = Integer.parseInt(lastValue);
} catch (NumberFormatException e) {
// if last value is not int then handle here
e.printStackTrace();
}
if(lastNumber >=100){
}
在lastValue中你可以获得50/400或任何值并做你的事情
关于java - JDBC 从 SQL 查询中解析 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26851649/