不使用Java / JDBC在sqLite中插入数据

时间:2016-01-19 10:01:27

标签: java sqlite jdbc

我有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");
}

2 个答案:

答案 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");

        }

    }