【发布时间】:2014-10-15 04:48:18
【问题描述】:
我正在尝试将 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);
}
}
【问题讨论】:
-
使用preparedstatement。
-
+ sqlDate +与+ sqlDate.toString() +相同...这不是您想要的,请参阅之前的评论以获取解决方案