Я отправляю на сервер строку sysdate()
с устройства Android. Проблема в том, что код не вставляет ничего в базу данных mysql. Колонка first
- DATETIME
. Я использую mysql workbench, когда я набираю INSERT INTO test (first) VALUES (sysdate());
в workbench, он работает.Sysdate as string
<%
String t = request.getParameter("time");
Connection connection = null;
PreparedStatement pstatement = null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
int updateQuery = 0;
if (t != null) {
if (t != "") {
try {
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
Statement st = connection.createStatement();
String queryString1 = "INSERT INTO test (first) VALUES (?)";
pstatement = connection.prepareStatement(queryString1);
pstatement.setString(1, t);
updateQuery = pstatement.executeUpdate();
if (updateQuery != 0) {
response.setStatus(400);
}
} catch (Exception ex) {
out.println(ex);
} finally {
pstatement.close();
connection.close();
}
}
}
%>
Что дата выглядеть, когда она исходит от Android? Другими словами, какова ценность вашей переменной 't'? Это '3/29/2013'? '2013-03-29'? Кроме того, у вас есть консоль для просмотра исключения, которое выводится в вашем 'catch'? Вы можете это проверить. –
Похож на 'sysdate()'. Я не конвертирую его ... – steven967