Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA或我的IDE的限制或SQL问题?_Java_Sql_Swing_Netbeans_Combobox - Fatal编程技术网

JAVA或我的IDE的限制或SQL问题?

JAVA或我的IDE的限制或SQL问题?,java,sql,swing,netbeans,combobox,Java,Sql,Swing,Netbeans,Combobox,我已经用Java创建了一个表单,我正在向数据库发送一些详细信息,如名称、类型、事件日期、事件时间等 conn是从我创建的DB类调用的。 状态变量与全局变量在同一文件中声明。 下面是“创建事件”按钮的代码: // Creating Events try { if (txtType.getText().equals("") || txtDate.getText().equals("") || txtDescription.getText().equals("") || cmb

我已经用Java创建了一个表单,我正在向数据库发送一些详细信息,如名称、类型、事件日期、事件时间等

conn是从我创建的DB类调用的。 状态变量与全局变量在同一文件中声明。 下面是“创建事件”按钮的代码:

// Creating Events
    try {
        if (txtType.getText().equals("") || txtDate.getText().equals("") || txtDescription.getText().equals("") || cmbTime.getSelectedIndex() == 0 || txtName.getText().equals("") || cmbColor.getSelectedIndex() == 0 || cmbVenue.getSelectedIndex() == 0) {
            JOptionPane.showMessageDialog(this, "All Fields Are Required To create an Event");
        } else {
            int record = conn.state.executeUpdate("insert into Events values('"+txtCustID.getText()+"','"+txtName.getText()+"','"+txtType.getText()+"','"+cmbColor.getSelectedItem().toString()+"','"+txtDescription.getText()+"','"+cmbVenue.getSelectedItem().toString()+"', '"+txtDate.getText()+"' , '"+cmbTime.getSelectedItem().toString()+"' , GETDATE() )");
            if (record > 0) {
                JOptionPane.showMessageDialog(this, "Event Registered Successfully!");
            } else {
                JOptionPane.showMessageDialog(this, "Event Not Registered!");
            }
        }
    } catch (Exception ex) {
        JOptionPane.showMessageDialog(this, ex.getMessage());
    }
问题:

同样的SQL查询在friend端工作正常,但给了我“列计数不匹配”错误。SQL数据库包含我再次检查的所有必需字段

我不希望在所有组合框中使用“Select”作为放置文本,而是希望组合框不显示文本,但我在Netbeans中看不到任何选项可以这样做。这是JAVA本身的局限还是我的IDE的局限

当前,用户必须单击并从组合框中选择一项。我想在用户关注组合框时立即打开它们。有一个叫做“聚焦”的活动。这是在这里使用的正确事件吗?我应该在其中编写什么代码,以便在获得焦点后立即打开组合框

学习使用PreparedStatements,有关更多详细信息,请参阅; 使用类似JComboxSetSelectEdItem的方法将其传递为null,这将导致JComboxBox最初为空。 是的,看到了吗 至于您的第一个问题,我们无法确定,因为我们无法访问数据库,但您应该确保您正在连接的数据库就是您认为正在连接的数据库

在insert语句中,还应该指定要插入的列,而不仅仅是值,因为顺序可能会更改…例如

insert into Events (..., ..., ...) values (?, ?, ?)

我也不鼓励您使用表单编辑器,学习如何手工编写UI,它将让您更好地了解UI的工作方式,以及如何在将来充分利用表单编辑器数据库是一样的。我用登录表检查了一下。将列名和值分开是最佳做法吗?我已经多次更改了这些值,因此如果在该查询中使用单独的列和值,那么每次都必须同时更改它们。在Java中使用什么语言创建UI?我总是使用Form Editor,或者您在表中添加更多或更少的值,然后您意识到哪些值是可用的。表单编辑器只是[Swing]周围的一个编辑器。我可以看到您添加了9个值,但我无法访问您的数据库,因此不可能知道。ID列是否自动递增?是的。我正在附加一个图像。很可能数据库不喜欢您尝试设置自动递增列的值…日期和时间值很重要,它们在SQL中填充得很好。