java - JDBC 从 SQL 查询中解析 int

标签 java mysql string servlets jdbc

我对 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/

相关文章:

java - 在 Java 中读取 JSON 文件的最简单方法?

java - 恢复发送到 EJB 的环境属性

mysql - SQL 多个 WHERE IN

php - 从mysql/php获取数据出错

C# 3.5 分部类 String IsNullOrWhiteSpace

java - Tomcat 全局连接池获取错误

java - 在这种情况下,是否建议在 API 调用中返回 404?

mysql - Sql 不同的和按 bool 字段分组

java - 替换 out.println 中的回车符和换行符?

python - 如何删除列表中的多个字符?