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

标签 java sql swing netbeans combobox

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

  • conn 是从我创建的数据库类中调用的。
  • 状态变量在同一文件中声明(作为全局变量)。

以下是“创建事件”按钮的代码:

// 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());
    }

问题:

  1. 相同的 SQL 查询在 friend 端运行良好,但出现“列计数不匹配”错误。 SQL 数据库具有所有必填字段(我再次检查)。

  2. 我希望组合框不显示任何文本,而不是在所有组合框中使用“选择”(作为放置文本),但我在 Netbeans 中没有看到任何选项可以执行此操作。是JAVA本身的限制还是我的IDE的限制?

  3. 目前,用户必须单击并从组合框中选择一个项目。我想在用户关注组合框时立即打开组合框。有一个名为“FocusGained”的 Activity 。在这里使用这个事件合适吗?我应该在其中编写什么代码才能在获得焦点后立即打开组合框?

SQL Database image

最佳答案

  1. 了解如何使用 PreparedStatement,请参阅 Using Prepared Statements更多细节;
  2. 使用诸如JComboBox#setSelectedItem之类的东西来传递null,这将导致JComboBox最初为空。
  3. 是的,请参阅 JComboBox#showPopup

对于您的第一个问题,我们无法判断,因为我们无权访问数据库,但您应该确保您正在连接的数据库是您认为正在连接的数据库。

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

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

我也不鼓励您使用表单编辑器,学习如何手动编写 UI 代码,这将使您更好地了解 UI 的工作原理以及如何在应用程序中充分利用表单编辑器。 future

关于JAVA 或我的 IDE 的限制或 SQL 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26350595/

相关文章:

java - 目标无法到达, 'null' 以 JSF 形式返回 null

java - HashMap Java 8 实现

sql - 删除 Azure 移动服务中使用的数据库中的表时如何防止错误?

java - java中的BufferStrategy中的图像闪烁?

java - 我的 Swing 应用程序有什么问题?

java - java swing中定时器与for循环之间的性能?

java - Spring Rabbit如何正确发送回复消息?

java - JShell 历史记录存储在哪里?

sql - JOIN PostgreSQL 中的两个表和 GROUP BY

sql - IF SQL 从 MySQL 到 PostgreSQL 的转换