我有一个数据表(t1)
这是我的代码,
btnSearch = new JButton();
btnSearch.setBackground(new java.awt.Color(51, 51, 255));
btnSearch.setText("Search");
btnSearch.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
String search =txtSearch.getText();
try{
conn = DriverManager.getConnection( "jdbc:mysql://localhost/bibodent", "root", "" );
String query = "SELECT name_doctor, mobile_doctor, phone_doctor, mail_doctor, city_doctor, spec_doctor, adres_doctor, note_doctor FROM doctor WHERE name_doctor LIKE '%" + txtName.getText() + "%' ";
ps = conn.prepareStatement(query);
ps.setString(1, search);
ResultSet rs = ps.executeQuery(query);
t1.setModel(DbUtils.resultSetToTableModel(rs));
}catch (Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e);
}
}
});
这将搜索其中包含“A”的所有name_doctor。
String query="Select * From doctor where name_doctor like %A%";
本文档有更多细节:https://www.tutorialspoint.com/mysql/mysql-like-clause.htm
在您的代码中有查询字符串:
从医生中选择…其中name_doctor类似“%”txtName.getText()“%”“
哪个不包含任何< code >?标记在里面。所以不需要有< code>ps.setString(1,搜索);因为您已经通过在查询字符串中追加< code>txtName.getText()来设置查询的参数,如下所示:
从医生中选择…其中name_doctor类似“%”txtName.getText()“%”“
不建议在查询字符串中附加参数,因为这样会有错误,而且其中没有类型检查。更优雅的方法是使用<code>PreparedStatement在查询中标记。
那么,正如MadProgrammer为每个<code>所指出的那样在查询中,您应该设置参数useps。设置字符串(n,搜索)
而n
第一次出现时注视
1
。因此,您可能希望将查询字符串更改为:
从医生中选择…其中name_doctor是什么
并且它应该工作。
代码中更重要的一点是执行查询的位置:
ResultSet rs=ps.executeQuery(查询)
使用<code>定义查询字符串后
使用参数<code>query<code>执行<code>ps<code>是一个常见错误!这样,
ps
将忽略设置的参数,然后使用运行原始查询
在其中。没有得到此错误的原因是您没有使用<code>参数化查询字符串
。因此,在设置<code>ps之后。设置字符串(n,搜索)
您应该在没有任何参数的情况下执行ps
:
< code > ResultSet RS = PS . execute query();
希望这有帮助!
我想在JTable中显示MySQL中的数据,但只显示了表中的最后一行。请帮帮我。我知道我有一个问题,因为jt=newjtable(数据,列)每次都为每行创建一个新表(删除之前的),但我找不到正确的选项。
问题内容: 我正在使用jdbc编写程序,该程序将成为数据库的接口(类似于CRUD应用程序)。我假设我必须编写一个类(例如),该类将对数据库执行所有操作(以及可能会简化为这些操作的某些其他逻辑)。用户界面由一组表和一些按钮组成。要使用Jtable,我需要实现一个类(例如),它是AbstractTableModel的子类。因此,此类将向用户显示我的数据。我需要为数据库架构中的所有表实现这种模型。我不想
问题内容: 如何过滤Java中的数组? 我有一系列对象,例如汽车: 类: 用: 现在我要过滤汽车阵列,只保留4门或更多: 我应该怎么做? 在使用Vector之前,请执行以下操作: 然后,我将使用Vector的大小创建一个新数组。然后,我将再次遍历向量并填充新数组。我知道这对于简单的事情来说是一个非常大的过程。 我正在使用J2ME。 问题答案: 编辑: 看到ArrayList不在J2ME中,但是基于
我在java fx中有一个tableview,它显示不同类型的数据,如字符串和整数。我想有一个数据过滤器,这样它就可以自动在table View中显示数据。我怎样才能做到这一点呢?目前我正在使用一个函数,但它不起作用。注意:“pers”是我正在使用的类的一个对象
我有以下数据: 现在我想以这样一种方式过滤数据,我可以删除第6行和第7行,对于特定的uid,我想在代码中只保留一行值为'c' 所以预期的数据应该是: 我使用的窗口函数如下所示:
问题内容: 基本上,我有一个名为的结构,主题包含,以及一个标志(有关说明,请参见下面的屏幕截图)。 在应用程序中,我想过滤数据,仅显示具有的主题。 这就是我想要做的: 但这是行不通的。我应该如何处理?在此先感谢您的帮助。 问题答案: 您那里有一些小错误。总体来说还算不错,但是结合起来它们将永远无法正常工作: 调用任何方法都将返回一个新对象 您需要先过滤其价值 您需要遍历结果 结合这些: 我们会定期