Android 为什么我会从这个方法中得到重复的记录?
我正在尝试使用以下语句将一些坐标(来自txt文件)从使用servlet的应用程序插入phpMyAdmin中名为Android 为什么我会从这个方法中得到重复的记录?,android,mysql,Android,Mysql,我正在尝试使用以下语句将一些坐标(来自txt文件)从使用servlet的应用程序插入phpMyAdmin中名为myTable的表中(我使用AsyncTask将此语句作为字符串发送): 我使用的方法是: public boolean insertValuesToMyTable(String insertToTab) { try { connec = this.getConnection(); st = connec.createSta
myTable
的表中(我使用AsyncTask将此语句作为字符串发送):
我使用的方法是:
public boolean insertValuesToMyTable(String insertToTab) {
try {
connec = this.getConnection();
st = connec.createStatement();
if (connec != null) {
st.executeUpdate(insertToTab);
if (st.executeUpdate(insertToTab) > 0)
return true;
return false;
} else {
System.err.println("No database connection, ...");
return false;
}
} catch (Exception e) {
System.err.println("Exception: " + e.getMessage());
return true;
} finally {
try {
//if (rs != null) rs.close(); //ResultSet
if (st != null) st.close(); //Statment
if (connec != null) con.close();
} catch (SQLException sqle) {
System.err.println("Inner SQLException: " + sqle.getMessage());
}
}
}
一切都很好,只是我得到了重复的行。例如,对于文件中的2个点(22.2525,56.5689)和(22.7812,25.1144),它将是:
id latitude longitude
1 22.2525 56.5689
2 22.2525 56.5689
3 22.7812 25.1144
4 22.7812 25.1144
通常应为:
1 22.2525 56.5689
2 22.7812 25.1144
我在查询中做错了什么?您调用了两次insert方法
if (connec != null) {
st.executeUpdate(insertToTab);
if (st.executeUpdate(insertToTab) > 0)
return true;
return false;
}
尝试删除它,如下代码所示:
if (connec != null) {
if (st.executeUpdate(insertToTab) > 0)
return true;
return false;
}
它执行insert,并在if语句中比较从方法返回的值
希望有帮助 这很有帮助!我对这部分有疑问,但我没有看到它我很放心,谢谢。
if (connec != null) {
if (st.executeUpdate(insertToTab) > 0)
return true;
return false;
}