java - 使用文本字段插入数据很困难(jdbc swing)

标签 java sql oracle swing jdbc

我的插入给我带来了问题。

我非常确定 Jtextfield 是问题所在。

如果有人能在正确的方向上插入我,我将不胜感激。

  private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {  

    try {
        Class.forName("oracle.jdbc.driver.OracleDriver");

        String url = "jdbc:oracle:thin:@//localhost:1521/xe";

        Connection conn = DriverManager.getConnection(url, "system", "oracle");

        conn.setAutoCommit(false);
        String query1 = "INSERT INTO WIN(NAME) VALUES('"+nameTextField.getSelectedText()+"')";


      Statement stm = conn.createStatement();
      stm.execute(query1);

        JOptionPane.showMessageDialog(null, "Record Added Succesfully.", "Record Added",
                JOptionPane.INFORMATION_MESSAGE);

    } catch (Exception e) {
        System.out.println(e);

    }


}                      

最佳答案

nameTextField.getSelectedText()

我猜应该是

nameTextField.getText()

此外,对 SQL 使用 PreparedStatement。您将不太可能出现 SQL 语法错误。查看:geting data from multiple table when selecting a row then clicking a button一个基本的例子。

Im pretty sure the Jtextfield is the problem.

好吧,学习如何进行一些基本的调试而不是猜测。

String query1 = "INSERT INTO WIN(NAME) VALUES('"+nameTextField.getSelectedText()+"')";

上面的代码可以写成:

String name = textField.getSelectedText();
// now you can verify the value of the name
System.out.println(name);

String query1 = "INSERT INTO WIN(NAME) VALUES('"+ name +"')";
// verify SQL syntax
System.out.println( query1);

当然,我的第一个建议是使用PreparedStatement更容易,但是要了解如何在调试时显示变量的值。

关于java - 使用文本字段插入数据很困难(jdbc swing),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42465014/

相关文章:

java - 如何使用 MessageBodyReader 读取对象集合

java - 如何在参数化构造函数中使用枚举?

mysql - 从表中的所有列中选择所有非空值

mysql - 使用 sum(columnS) 选择不同的列和列

java - 用于在 Websphere 中创建 Oracle 数据源的 Jython 脚本

oracle - 导入带有索引的数据库而不重新索引

ORACLE语法: What is this called?

java - System.identityHashCode 逆?

java - 将大部分对象保存在缓存/内存中而不是数据库中?

python - 为什么Python中的数据库查询不返回整数值?