【发布时间】:2021-09-18 14:08:30
【问题描述】:
为了让我们的代码更有用。 在这里我尝试了很多模式但没有得到我的结果
然而,我面临日期变量的问题,如果我传递静态变量,那么它是正确的输出。但我想动态(用户输入日期)。我不会通过预定义的日期。
请给我适当的解决方案。
代码如下:
Connection con=DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:VASVMT","scott","tiger");
Statement stmt=con.createStatement();
Scanner sc=new Scanner(System.in);
System.out.println("Enter DOB (dd-mm-yyyy) format");
String td=sc.next();
SimpleDateFormat date1=new SimpleDateFormat("dd-MM-yyyy");
System.out.println(date1);
java.util.Date tdd=date1.parse(td);
System.out.println(tdd);
long ms=tdd.getTime();
System.out.println(ms);
java.sql.Date dttt=new java.sql.Date(ms);
System.out.println(dttt);
String sql="select * from tbl_transaction_new where to_char(date_time,'dd-mm-yyyy')='dttt'";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()) {
System.out.print(" NAME: "+rs.getString("messgae"));
System.out.print(" Date: "+rs.getDate("date_time"));
System.out.println();
con.close();
}
我的sql表——点赞
message(column) 和 date_time(column, datatype- Date).. 在 date_time 列中的值类似于 05-JUL-2021 、 08-JUL-2021 、 01-JAN-2021。
【问题讨论】:
-
我建议你不要使用
SimpleDateFormat和Date。这些类设计不良且过时,尤其是前者,尤其是出了名的麻烦。而是使用来自java.time, the modern Java date and time API 的LocalDate和DateTimeFormatter。见Insert & fetch java.time.LocalDate objects to/from an SQL database such as H2。 -
您的代码似乎在处理用户输入
td。你错过了什么? -
朋友,在您发布问题后的最初几个小时内密切关注您的问题并立即对其进行编辑以响应任何澄清请求是个好主意。此时兴趣最大,因此它增加了您获得良好接收和良好答案的机会。