我試圖從基於DATETIME的表中選擇一個條目子集。在命令行中,我進入JDBC和MySQL for SQL的不同結果select date where datetime> date
SELECT * FROM routes_table WHERE time > '2012-05-28 11:01:01' ORDER BY time
我得到
mysql> SELECT * FROM routes_table WHERE time > '2012-05-28 11:01:01' ORDER BY time;
+-----------+--------------+------+---------------------+--------------+
| driver | type | num | time | destination |
+-----------+--------------+------+---------------------+--------------+
| Ma Lvjing | Bus | B127 | 2012-06-22 15:00:00 | Colina Hotel |
+-----------+--------------+------+---------------------+--------------+
1 row in set (0.00 sec)
然而,當完全相同的查詢是通過JDBC執行,我得到的表的所有結果,包括它的時間是項早於'2012-05-28 11:01:01'。任何想法爲什麼發生這種情況?
這是JDBC代碼的一部分,在JSP
String database = "routes";
String routes_table = "routes_table";
String column_time = "time";
<%
try {
Class.forName("com.mysql.jdbc.Driver"); //Load the MySQL driver
con = DriverManager.getConnection("jdbc:mysql://localhost/"
+ database, "root", "admin");
stmt = con.createStatement();
String currentDATETIME = new TimeToolbox().getCurrentDATETIME();
rs = stmt.executeQuery("SELECT * FROM " + routes_table + " WHERE "
+ column_time + " > '" + currentDATETIME + "'"
+ " ORDER BY " + column_time);
%>
您最好顯示代碼。 – xdazz
感謝您的建議 –
好吧,現在我們有了,TimeToolbox是什麼?你確定'getCurrentDATETIME()'正確返回嗎?我強烈建議你使用預先準備好的聲明btw。 –