我有两个数据库表。第一个表包含具有目的地电话号码的“ Destination”列,第二个表包含具有区号的“ Areacode”。

假设:目标号码='001891191080'
区号:001,0018,00185等

现在的问题是目标号码与001区号而不是0018匹配。

 for (int i = 10; i >= 0; i--) {
        try {
            String ss = destination.substring(0, i);
            Statement st = null;
            ResultSet rs = null;

            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/asteriskcdrdb", "root", "techsoft");
            st = con.createStatement();
            rs = st.executeQuery("Select * from sp1 where areacode like '" + ss + "'");
            while (rs.next()) {
                areacode = rs.getString("AreaCode");


先生,根据我的需要,我在这里接受目标值并从最后一个开始检查for循环。但是,一旦它匹配第一个值,它就会跳过并且不检查其他确切的可能性...
如何从众多可能性中匹配精确值...
任何帮助将不胜感激。
提前感谢

最佳答案

Destination number='001891191080' Areacode :001,0018


通过使用String#subString(begin index,End index),您可以输入短字符串并尝试将两者匹配。

您不应该在for循环中创建连接和语句。

07-26 04:59