Java 从netbeans向数据库mysql插入数据

Java 从netbeans向数据库mysql插入数据,java,mysql,swing,netbeans,insert,Java,Mysql,Swing,Netbeans,Insert,我的登记表上有一堆。我不明白错误在哪里 这是我的连接: package login; import java.sql.*; import java.text.SimpleDateFormat; import javax.swing.*; public class register extends javax.swing.JFrame { public PreparedStatement pst; public Connection cn; public Statement st; pub

我的登记表上有一堆。我不明白错误在哪里 这是我的连接:

package login;

import java.sql.*;
import java.text.SimpleDateFormat;
import javax.swing.*;

public class register extends javax.swing.JFrame {

public PreparedStatement pst;
public Connection cn;
public Statement st;

public register() {
    initComponents();
    try {
        Class.forName("com.mysql.jdbc.Driver");
        cn=DriverManager.getConnection("jdbc:mysql://localhost:3306/tugas?zeroDateTimeBehavior=convertToNull","root","");
        st=cn.createStatement();
        JOptionPane.showMessageDialog(null, "Connected");
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Not Connected");
    }
}
我有按钮单击保存或插入数据库,但失败或错误:

private void btnsumbitActionPerformed(java.awt.event.ActionEvent evt) {                                          
    try {
        String sql = "INSERT INTO `pasien`(`Username`, `Password`, `Nama_Depan`, "
                + "`Nama_Belakang`, `Tanggal_Lahir`, `Alamat`, `No_Telp`, `Jenis_Kelamin`) "
                + "VALUES (?,?,?,?,?,?,?,?)";
        pst = cn.prepareStatement(sql);
        pst.setString(1, user.getText());
        pst.setString(2, String.valueOf(pass.getPassword()));
        pst.setString(3, nmdepan.getText());
        pst.setString(4, nmblkg.getText());
        pst.setString(5, ((JTextField)txt_Date.getDateEditor().getUiComponent()).getText());
        pst.setString(6, alamat.getText());
        pst.setString(7, telp.getText());
        pst.setString(8, kelamin.getSelectedItem().toString());
        pst.execute();
        JOptionPane.showMessageDialog(null, "Register Berhasil");
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Terjadi Kesalahan");
    }
}               

此代码可以执行,但无法插入数据库或失败

请提供更多信息:

  • sql表变量
  • 输出误差
查看变量的类型 或者使用此代码更好地捕捉错误

try {
     //You code there
}
catch (SQLException e) {
  while (e != null) {
      System.out.println("\n Message: " + e.getMessage());
      System.out.println("\n SQLState: " + e.getSQLState());
      System.out.println("\n ErrorCode: " + e.getErrorCode());
      e = e.getNextException();
  }
}

不要在失败时输出固定的(无用的)错误消息。mysql可以/将告诉您出了什么问题。异常本身应该包含来自mysql的错误代码/文本…这是我的数据库用户名数据:varchar(20),密码:varchar(20),Nama_Depan:varchar(20),Nama_Belakang:varchar(20),Tanggal_Lahir:date,Alamat:varchar(100),No_Telp:varchar(15),Jenis_Kelamin:varchar(10)我输入了代码,但无法编译/出错,所以数据库中的类型数据是用户名:varchar(20),密码:varchar(20),Nama_Depan:varchar(20),Nama_Belakang:varchar(20),Tanggal_Lahir:date,Alamat:varchar(100),No_Telp:varchar(15),Jenis_Kelamin:varchar(10)