当前位置: 首页 > 知识库问答 >
问题:

从数据库检索值到jradiobutton

于鹏
2023-03-14

我正在尝试实施一个工资系统,但我在更新员工方面遇到了一些问题。我已将员工的性别作为varchar存储在数据库中。当我输入员工id并单击搜索按钮时,我想从数据库中获取该信息,并根据数据以男性/女性单选按钮显示。代码中没有错误。但问题是,当我尝试这样做时,只有男性按钮显示为选中状态,这是默认设置。即使数据库上的数据显示为女性,女性单选按钮也不会被选中。有谁能帮我解决这个问题吗?下面是我的代码。

package AppPackage;

import static AppPackage.AddEmployeeGUI.convertUtilDateToSqlDate;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;

public class UpdateEmployeeGUI extends javax.swing.JFrame {

Connection conn=null;
PreparedStatement pst=null;
ResultSet rs=null;

public UpdateEmployeeGUI() {
    initComponents();
    conn=MySQLConnect.ConnectDb();
}
private void SearchButtonActionPerformed(java.awt.event.ActionEvent evt) {                                             
    try {
        String sql = "SELECT * FROM EmployeeInfo WHERE EmployeeID =?";
        pst=conn.prepareStatement(sql);
        pst.setString(1,EmployeeIDSearchField.getText());

        rs = pst.executeQuery();
    if(rs.next()) { 
        String ID = rs.getString("EmployeeID");
        EmployeeIDField.setText(ID);
        String FN = rs.getString("FirstName");
        FirstNameField.setText(FN);
        String LN = rs.getString("LastName");
        LastNameF.setText(LN);
        String GN = rs.getString("Gender");
            if (GN =="Female"){
                MaleRadio.setSelected(false);
                FemaleRadio.setSelected(true);

            }
            else{
                FemaleRadio.setSelected(false);
                MaleRadio.setSelected(true);
            }      
        String CN = rs.getString("ContactNo");
        ContactNoField.setText(CN);
        String EM = rs.getString("Email");
        EmailField.setText(EM);
        SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd");
        Date dateValue = null;
        try {
            dateValue = date.parse(rs.getString("DateOfJoin"));
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, ex);
        }
        jDateChooser.setDate(dateValue); 
        String Des = rs.getString("Designation");
        DesignationComboBox.addItem(Des); //getItemAt(int index); 
        String BS = rs.getString("BasicSalary");
        BasicSalaryField.setText(BS);

    }
    } catch (SQLException e ) {
    JOptionPane.showMessageDialog(null, e);
    }
}                                            

private void UpdateEmployeeButtonActionPerformed(java.awt.event.ActionEvent evt) {                                                     
    // UPDATE EmployeeInfo SET FirstName='?', LastName='?', LastName='?', Gender='?', ContactNo='?',Email='?', DateOfJoin='?', Designation='?' WHERE EmployeeID='?';
    try{

        String sql1 = "UPDATE EmployeeInfo SET FirstName=?, LastName=?, Gender=?, ContactNo=?, Email=?, DateOfJoin=?, Designation=?, BasicSalary=? WHERE EmployeeID=?";
        pst=conn.prepareStatement(sql1);
        pst.setString(1,FirstNameField.getText());
        pst.setString(2,LastNameF.getText());
        pst.setString(3,GenderC);
        pst.setString(4,ContactNoField.getText());
        pst.setString(5,EmailField.getText());
        pst.setDate(6,convertUtilDateToSqlDate(jDateChooser.getDate()));
        pst.setString(7,DesignationComboBox.getSelectedItem().toString());
        pst.setString(8,BasicSalaryField.getText());
        pst.setString(9,EmployeeIDField.getText());

        pst.execute();

        String sql2 = "UPDATE employeebasicsalary SET BasicSalary=? WHERE EmployeeID=?";
        pst=conn.prepareStatement(sql2);
        pst.setString(1,BasicSalaryField.getText());
        pst.setString(2,EmployeeIDField.getText());
        pst.execute();

        JOptionPane.showMessageDialog(null, "Successfully updated!");


    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);

    }
}                                                    

private void FemaleRadioActionPerformed(java.awt.event.ActionEvent evt) {                                            
    GenderC = "Female";
}                                           

private void MaleRadioActionPerformed(java.awt.event.ActionEvent evt) {                                          
    GenderC = "Male";
}                                         

private void ResetButtonActionPerformed(java.awt.event.ActionEvent evt) {                                            
    EmployeeIDField.setText(null);
    FirstNameField.setText(null);
    LastNameF.setText(null);
    MaleRadio.setSelected(true);
    FemaleRadio.setSelected(false);
    ContactNoField.setText(null);
    EmailField.setText(null);
    jDateChooser.setCalendar(null);
    BasicSalaryField.setText(null);
    DesignationComboBox.setSelectedIndex(0);
}

共有1个答案

景麒
2023-03-14

替换线条

if (GN =="Female"){
            MaleRadio.setSelected(false);
            FemaleRadio.setSelected(true);

        }
        else{
            FemaleRadio.setSelected(false);
            MaleRadio.setSelected(true);
        }

具有

        if (GN.equals("Female")){
            MaleRadio.setSelected(false);
            FemaleRadio.setSelected(true);
        } else {
            FemaleRadio.setSelected(false);
            MaleRadio.setSelected(true);
        }

as==用于比较哈希和值

 类似资料:
  • 问题内容: 嗨,我已经成功地将jTable链接到JDBC数据库。但是,我在检索它们时遇到了麻烦。我希望在重新启动程序时出现保存的数据,但是它不起作用。 这是我保存文档的代码! 有什么方法可以检索JDBC数据库中的数据并通过Jtable显示它?我很抱歉提出这样一个简单的问题,但是我是Java新手,我非常需要帮助! 非常感谢! 用于加载数据的代码… 顺便说一句,我的jtable是一个3列的表,其中包含

  • 问题内容: 我正在制作一个程序,可以从我创建的数据库中检索字段的输入数据/值。但是,当我运行它时,输出始终为null。不知道怎么了 这是我的代码: 在我的主班我有以下代码: 我不知道为什么我运行它时总是说null。 问题答案: 您实际上并没有在设置员中“设置”任何东西。 最重要的是:我对getter和setter的理解使您可以在getter中进行查询。

  • 我们在学校使用hibernate,我们正在实施贷款。我们有一个持续的贷款类别,根据贷款信息(付款金额、到期总额等),应用程序应计算特定贷款的全部付款报价。 因此,我们有一个Quote类,其中包含有关该Quote的信息,Loan类有一个所有Quote的列表(类之间的组合)。 由于报价信息是可计算的,我认为它不应该出现在数据库中。 我的问题是,当Hibernate从DB获得贷款时,如何让它计算并填充报

  • 互联网日安! 我正在尝试从mysql数据库检索并显示一个图像到一个图像视图(android)中。图像是blob类型。我有以下php代码从MySQL获取图像。 下面是使用JSON的android代码。 提前感谢您的帮助!

  • 我正在两个标记之间画一条路线,我想保存那条路线。为此,我将包含lat和lng的ArrayList保存在Firebase数据库中。但我在取回航路点时遇到了问题。我是这样插入的: 在检索数据时,我尝试执行以下操作:

  • 问题内容: 我有一个带有这样的树的firebase数据库 等等… 在我的应用程序中,用户下载项目,而项目下载时,电视主题将从URL播放。当单个项目发生价值事件时,我可以使其正常运行。我希望它从列表中随机选择一个值。如何做到这一点? 由于我的应用程序不包含任何内容,因此编辑可以使用回收视图方法 这是我的单项代码 问题答案: 要解决此问题,请使用以下代码行: 然后使用循环使用随机数提取该值: