我有两个数据库表。第一个表包含具有目的地电话号码的“ 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循环中创建连接和语句。