java - 如何在Jtable中显示搜索项?

标签 java sql

我无法从数据库中搜索特定项目并将其放入 Jtable 中 这是我正在使用的代码:

 try{
      String filename="stock.mdb";
      String database="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
      database += filename.trim()+ ";DriverID=22;READONLY=FALSE}";
      conn=DriverManager.getConnection (database, "", "");


      Statement sta= conn.createStatement();
      String str=search.getText();
      String sql="SELECT '"+str+"' FROM stockDB";
      ResultSet rs= sta.executeQuery(sql);
      Table.setModel(DbUtils.resultSetToTableModel(rs));

      System.out.println("SEARCH UPDATED");

  }catch(Exception e)
  {
      System.out.println(e);

}

这有什么问题吗?

最佳答案

Do you see any problem with the code?

  1. 变量名称不应以大写字符开头(“Table”应为“table”)。

  2. 您的 select 语句未执行搜索。您正在选择一个列名称。当您进行搜索时,您应该有一个“where”子句,其中包含您正在搜索的字符串。

  3. 创建 SQL 语句时使用 PreparedStatement。它将使用正确的分隔符构建查询,因此您无需担心出现语法错误。

关于java - 如何在Jtable中显示搜索项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23178173/

相关文章:

SQL:有关 LEFT OUTER JOIN 的帮助

sql - PostgreSQL 获取每天的平均、最小、最大延迟值

mysql - 在 MySQL 查询的 WHERE 子句中使用列别名会产生错误

java - 创建动画 Android 小部件

Java - 仅在关闭时处理 JFrame?

java - OneToMany 注释列表中的重复项

java - 联合测试方法

mysql - 增量变量和存储过程检查重复项的问题

Java Spring Security 5 + MySQL 数据库 : Encoded password does not look like BCrypt

mysql - 比较值,对它们进行排序并确定哪个更有利