java - 如何使用 MS Access 使用 ComboBox 和 jTextField Netbeans 搜索 jTable 中的数据

标签 java swing netbeans combobox netbeans-6.9

在我的程序中,我可以使用程序中的 jTextfield“txtsearch”使用此代码搜索 jTable 中的数据。

请看一下我的实际程序。这是一张图片:

/image/QZguC.png

这是我在 jTextField“txtsearch”中的代码。在这段代码中 我只能通过 Name 搜索 jTable。我想使用 jComboBox 进行搜索。

String a=txtsearch.getText();
conn=MyConnection.ConnectDB();
String sql="Select* from StdRecord WHERE Name LIKE'"+a+"%'";
try{
    pst=conn.prepareStatement(sql);
    rst=pst.executeQuery();
    jTable1.setModel(DbUtils.resultSetToTableModel(rst));
}catch(Exception e){}

此外,根据我上传的图片,我的问题是:如何通过姓名中间名姓氏搜索学生使用组合框? 例如,我在组合框中选择 MiddleName,然后当我在 jTextField“txtsearch”中键入时,我只能在表的 MiddleName 部分中进行搜索。

最佳答案

This is my code in jTextField "txtsearch". In this code I can search the jTable via Name only. I want to search by using the jComboBox.

您当前的 SQL 对要搜索的数据使用变量,那么为什么不能对要搜索的列使用变量呢?

String a=txtsearch.getText();
String column = comboBox.getSelectedItem().toString();
String sql="Select* from StdRecord WHERE " + column + "LIKE'"+a+"%'";

此外,为了使 SQL 更容易编码和维护,您应该使用 PreparedStatement:

String sql = "Select* from StdRecord WHERE " + column + "LIKE ?";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString( 1, a + "%" );
stmt.executeQuery();

关于java - 如何使用 MS Access 使用 ComboBox 和 jTextField Netbeans 搜索 jTable 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33548096/

相关文章:

java - 替换字符串中的一个字符

java - 将单个 JTextArea 与多个 UndoManager 一起使用

java - 错误 "java.lang.IllegalArgumentException: URI i s not hierarchical"是什么意思?

java - 测量字符串和字体宽度

java - 如何在带有复选框数组的滚动 Pane 中显示数据库查询的结果?

java - 如何在 Netbeans 11 中使用 Maven 和 Inno Setup 为 JavaFX 应用程序创建可执行安装程序

java - MYSQL连接: Access Denied

java - Netbeans 8.1 Gnome 3 GTK+ UI 字体和标签高度

java - 为什么从 https 切换到 http 时我的 session ID (JSESSIONID) 会发生变化? java jsf

java - AWT Canvas 在手动调整大小时闪烁