gpt4 book ai didi

Java:在Mysql数据库中插入日期

转载 作者:行者123 更新时间:2023-11-29 23:36:00 27 4
gpt4 key购买 nike

我正在尝试将java与mysql连接,但我在插入查询时遇到了下一个问题,日期的值不断地减去自己,例如,如果我输入日期1995-04-16,它将尝试输入数据库中的值 1975。

我正在使用的代码是下一个:

public void insertIntoUsuario() {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
try {
System.out.println("Ingrese su cedula: ");
int cedula = scan.nextInt();
System.out.println("Ingrese sus nombres: ");
String nombres = scan.next();
System.out.println("Ingrese sus apellidos: ");
String apellidos = scan.next();
System.out.println("Ingrese la fecha de nacimiento: ");
String date = scan.next();
java.sql.Date sqlDate = new java.sql.Date(format.parse(date).getTime());

System.out.println("Ingrese su ingreso mensual: ");
float ingresos_mensuales = scan.nextFloat();
System.out.println("Ingrese un nombre de usuario: ");
String nombre_usuario = scan.next();
System.out.println("Ingrese una pass virtual: ");
String pass_virtual = scan.next();
System.out.println("Admin: por defecto es 0");
int is_admin = 0;
System.out.println("Visita: ");
int first_visit = scan.nextInt();

System.out.println(sqlDate + "f");

st.executeUpdate("insert into usuario (cedula, nombres, apellidos, fecha_nacimiento, ingresos_mensuales, nombre_usuario, pass_virtual, is_admin, first_visit) VALUES ('"
+ cedula
+ "','"
+ nombres
+ "','"
+ apellidos
+ "',"
+ sqlDate
+ ",'"
+ ingresos_mensuales
+ "','"
+ nombre_usuario
+ "','"
+ pass_virtual
+ "','"
+ is_admin
+ "','" + first_visit + "') ");
} catch (Exception ex) {
System.out.println(ex);
}
}

最佳答案

在字符串中附加 sqlDate 会将其创建为字符串,这就是问题所在。

有两种可能的解决方案

  1. 您可以使用准备好的语句

  • 如果您想坚持声明,只需将日期保留在字符串中并在查询中解析它,例如正在关注

    st.executeUpdate("插入 usuario (cedula、nombres、apellidos、fecha_nacimiento、ingresos_mensuales、nombre_usuario、pass_virtual、is_admin、first_visit) VALUES ('" + 塞杜拉 +“','” + 名称 +“','” + apellidos + "', to_char(" + 日期 + ",'yyyy-mm-dd'),'" + ingresos_mensuales +“','” + nombre_usuario +“','” + pass_virtual +“','” + 是_管理员 + "','"+ first_visit + "') ");

  • 关于Java:在Mysql数据库中插入日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26374660/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com