【发布时间】:2017-02-22 12:57:40
【问题描述】:
我的方法仅适用于StrictMode,当我删除StrictMode 时,我的应用程序在运行此方法后无限加载...并且永不停止。
不知道为什么,谁能解释一下?
public void sending() {
Connection co = null;
Statement st = null;
try {
StrictMode.ThreadPolicy po = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(po);
Class.forName("com.mysql.jdbc.Driver");
co = DriverManager.getConnection(url2, user2, pass2);
st = co.createStatement();
Double bb = latitude;
Double bb1 = longitude;
String sql2 = "INSERT table (tab1, tab2) VALUES('" + bb + "', '" + bb1 + "')";
st.executeUpdate(sql2);
} catch (SQLException se) {
se.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (st != null) {
co.close();
}
} catch (SQLException se) {
}
try {
if (co != null) {
co.close();
}
} catch (SQLException se) {
se.printStackTrace();
}
}
}
【问题讨论】:
-
把你的代码放到一个线程中。
-
您是否尝试在调试器中运行代码并单步执行,以便缩小失败的范围?
-
顺便说一句。如果您的 SQL 以这种方式工作,我想知道您使用什么数据库。因为不应该。你应该像 YCF_L 所说的那样使用 PreparedStatement,这在几乎所有情况下都是一个好主意。