¿Cómo puedo establecer/usar la entrada en el JTextField como el nombre de la tabla que se creará en la base de datos?
Aunque todavía soy nuevo en jdbc, pude crear una nueva tabla en la base de datos al hacer clic en el JButton, su código está comentado. Pero lo que necesito hacer es tomar la entrada del usuario en el Jtextfield y establecerla como el nombre de la tabla que se creará en la base de datos. Necesito ayuda por favor.
NameT = new JTextField();
JButton SaveB = new JButton("Guardar");
SaveB.setFocusable(false);
SaveB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/sample","root","");
String input = NameT.getText();
// String sql="CREATE TABLE sample.English AS SELECT * FROM subject;";
String sql="CREATE TABLE sample.'"+input+"' AS SELECT * FROM subject;";
PreparedStatement ptst = conn.prepareStatement(sql); ptst.executeUpdate();
JOptionPane.showMessageDialog(null, "datos almacenados exitosamente");
conn.close();
}
catch(Exception e1){
JOptionPane.showMessageDialog(null, "No se almacenaron los datos exitosamente");
}
davy.ai
Para capturar la entrada del usuario en el JTextField y establecerlo como el nombre de la tabla que se creará en la base de datos, debes modificar el código en el método actionPerformed del JButton SaveB de la siguiente manera:
El código modificado debería verse así:
SaveB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
Class.forName(“com.mysql.cj.jdbc.Driver”);
Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/sample”,”root”,””);
String input = NameT.getText();
String sql=”CREATE TABLE sample.
" + input +"
AS SELECT * FROM subject”;PreparedStatement ptst = conn.prepareStatement(sql);
ptst.executeUpdate();
JOptionPane.showMessageDialog(null, “Tabla creada exitosamente”);
conn.close();
}
catch(Exception e1){
JOptionPane.showMessageDialog(null, “Error al crear la tabla”);
}
}
});
Nota: Asegúrate de incluir acentos graves (`) alrededor del nombre de la tabla si contiene caracteres especiales o espacios.