Cual es la sentencia SQL para insertar datos en mi Base de Datos en MySQL en Java?

publicado por: Anonymous

En mi programa usando Java en Eclipse y MySQL, tengo los siguientes datos:

  • Número de llamada (int): callcenter.getTotalLlamadas()
  • Tipo de llamada (string): Local
  • Número de Origen (string): txtNumeroDeOrigen.getText()
  • Número de Destino (string): txtNumeroDeDestino.getText()
  • Duración (int): Integer.parseInt(txtDuracion.getText())

Estoy aprendiendo a usar Bases de Datos y estoy confundido a la hora de insertar estos datos a mi tabla.

introducir la descripción de la imagen aquí

Según leí en Internet, hasta ahora tengo esto pero, no funciona, Eclipse lo marca en rojo diciendo que es incorrecto:

String sql = "INSERT INTO llamadas (ID, Tipo, NumeroOrigen, NumeroDestino, Duracion, Precio) values ('"+ callcenter.getTotalLlamadas() +"', Local, '"txtNumeroDeOrigen.getText().replaceAll("\D+", "")"', '"txtNumeroDeDestino.getText().replaceAll("\D+", "")"', '"txtDuracion.getText()"', '"callLocal.calcularPrecio()"')";

Cuál es la sentencia correcta para poder enviar los datos obtenidos mediante mis campos JFormattedTextField?, el único dato que es fijo es el Tipo, el cual es “Local”, este no lo pido.

Gracias y saludos, cualquier ayuda es bienvenida.

solución

Prueba con la siguiente sentencia preparada, la cual sirve para enviar sentencias SQL a la base de datos.:

_x000D_

_x000D_

String query = "INSERT INTO llamadas (ID, Tipo, NumeroOrigen, NumeroDestino, Duracion, Precio)"_x000D_
        + " values (?, ?, ?, ?, ?, ?)";_x000D_
_x000D_
PreparedStatement preparedStmt = conn.prepareStatement(query);_x000D_
preparedStmt.setInt (1, callcenter.getTotalLlamadas());_x000D_
preparedStmt.setString (2, "Local");_x000D_
preparedStmt.setString (3, txtNumeroDeOrigen.getText());_x000D_
preparedStmt.setString (4, txtNumeroDeDestino.getText());_x000D_
preparedStmt.setString (5, txtDuracion.getText());_x000D_
preparedStmt.setInt (6, callLocal.calcularPrecio());_x000D_
_x000D_
preparedStmt.execute();

_x000D_

_x000D_

_x000D_

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *