我有2个Jtextfield和一个按钮。 Jtextfields的名称是Jtextfield1和Jtextfield2 .i尝试了以下代码。我无法使用netbeans在sqLite(Mozilla Firefox)中插入数据。
Statement st;
try {
st=con.createStatement();
st.executeUpdate("insert into emp(name,des) values ("+jTextField1.getText()+","+jTextField2.getText()+")");
JOptionPane.showMessageDialog(null, "pass");
st.close();
con.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "fail");
}
答案 0 :(得分:0)
我猜你需要用单引号('')封装字符串:
st.executeUpdate("insert into emp(name,des) values ('"+jTextField1.getText()+"','"+jTextField2.getText()+"')");
要查找有关错误的更多信息,您应该将此异常打印到控制台,如下所示:
[...]
} catch (Exception e) {
System.out.println("Exception: " + e) ;
[...]
也许这可以帮助您查看错误。
答案 1 :(得分:0)
@ user5809644我正在关注在我的系统中运行的下列步骤。请按照说明和代码。我想你会得到结果。您需要下载MySQL社区服务器和MySQL Workbenchand并安装(如果没有必要下载和安装)。
然后转到netbeans右键单击Libraries选择 “添加Jar /文件夹” ,然后会出现一个窗口。 select netbeans文件夹(例如: C:\ Program Files \ NetBeans 8.0.2 \ ide \ modules \ ext )选择mysql-connector-java5.1.23-bin.jar文件。安装成功后,您可以看到jar文件到libraries文件夹。
然后转到服务(窗口>>服务),您可以看到 数据库 。右键单击数据库选择新连接。窗口将显示为“新连接向导”的名称。从下拉列表中选择 mysql(connector / J Driver),然后添加上面已提到的jar文件( *(例如: C:\ Program Files \ NetBeans 8.0) .2 \ ide \ modules \ ext )选择mysql-connector-java5.1.23-bin.jar文件。* 名称驱动。点击下一步>>你可以看到驱动程序名称,主机,数据库,用户名,密码(请注意,如果在MySQL中给出密码,请在此处输入密码) 在JDBC url中,您可以看到 jdbc:mysql:// localhost:3306 / mysql?zeroDateTimeBehavior = convertToNull ,然后删除*?zeroDateTimeBehavior = convertToNull *。然后点击“ 测试连接 ”按钮,您将获得结果“成功”。然后单击“下一步”,然后完成该过程。
然后你可以在服务中看到>>数据库>> JDBC:MySQL的://本地主机:3306 / MySQL的
双击它可以看到数据库名称“mysql”。
单击它,然后在表文件夹中创建表。 (这里我创建了一个表名“emp”并创建了一些列名作为名称,地址)。您也可以创建自己的表和表列。
转到您的JForm选择来源,然后输入以下代码
import java.sql.*;
import javax.swing.*;
import javax.swing.JOptionPane;
public class Demoinsert extends javax.swing.JFrame {
Connection con= null;
Statement st= null;
PreparedStatement pt= null;
/**
* Creates new form Demoinsert
*/
public Demoinsert() {
initComponents();
try {
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql","root","root");
jLabel3.setText("sucess");
} catch (Exception e) {
System.out.println(" "+e);
jLabel3.setText("fail");
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
String sql="insert into emp(Ename,Designation) values(?,?)";
pt= con.prepareStatement(sql);
pt.setString(1, jTextField1.getText());
pt.setString(2, jTextField2.getText());
jLabel3.setText("sucess");
pt.execute();
} catch (Exception e) {
System.out.println(" "+e);
jLabel3.setText("fail");
}
}