【发布时间】:2012-10-05 01:31:14
【问题描述】:
我有两个数据库表。第一个表包含“目的地”列,其中包含目标电话号码,第二个表包含“区号”,其中包含区号。
假设:目的地号码='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 循环。但是一旦它与第一个值匹配,它就会跳过并且不检查其他确切的可能性...... 如何从这么多可能性中匹配确切的值... 任何帮助将不胜感激.. 提前感谢
【问题讨论】:
-
@subodh 先生,我发布了我的代码和逻辑
-
@Aswathi 先生,我发布了我的代码
-
我的SQL有点生疏了,但是你不能用
like '" + ss + "%'来代替吗? -
在 For 循环中创建 Connection 对象不是一个好习惯。您可以在循环之前调用 Class.forName() 和 getConnection()。
标签: java string iterator match