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

如何在MySQL数据库中保存的字符串中进行搜索

斜昊空
2023-03-14

我通过在JTextField中获取用户的输入创建了一个JList。然后,我将jList转换为String,将jList保存到Mysql数据库,因为我希望将jList项保存在单行中作为单个条目。

向JList添加用户输入的代码:

DefaultListModel dlm= new DefaultListModel();
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

        String userInput= jTextField2.getText();
        dlm.addElement(userInput);
        jList1.setModel(dlm);
        jTextField2.setText(null);     

    } 
String allitem=null;
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         

         for(int i = 0;i<jList1.getModel().getSize();i++)
    {
        allitem = (String)jList1.getModel().getElementAt(i)+"::"+allitem;
    }

try
{
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/ft", "root", "");
    PreparedStatement stmt = conn.prepareStatement("insert into ftt (listname,listitem) values (?,?)");
    stmt.setString(1, jTextField1.getText());
    stmt.setString(2, allitem);
    stmt.execute();
    conn.close();
}catch(
Exception e)
{
    JOptionPane.showMessageDialog(null, e);
    e.printStackTrace();
}
    JOptionPane.showMessageDialog(null, "done"); 

    }                                        
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         

        Update_table1();

    }  

private void Update_table1(){

        try{

            Class.forName("com.mysql.jdbc.Driver");
            Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/ft","root","");
            String query="SELECT listname FROM ftt WHERE listitem=?;";
            PreparedStatement prepstmt=conn.prepareStatement(query);  
            String s = (String) jList1.getSelectedValue();
            prepstmt.setString(1,s);
            ResultSet rs=prepstmt.executeQuery(); 
            jTable3.setModel(DbUtils.resultSetToTableModel(rs));

        }catch(Exception e){

            JOptionPane.showMessageDialog(null, e);
        }
    }

但是在使用此代码时,Jtable并不显示任何值,尽管它使用表头名称。请任何人可以检查我正确在如何搜索中保存在MySQL数据库的字符串。我认为问题是存在的,因为其他事情都很好。

注意:它不显示任何错误或异常。

共有1个答案

解翰采
2023-03-14

这不是最好的方法来保持记录作为您正在做的方式作为串联字符串。您最好使用一个规范化的表,并将所有列表元素保留为一个记录。对于您的代码,您试图查询包含串联信息的字段。所以您可以使用“like”关键字而不是“=”。

"SELECT listname FROM ftt WHERE listitem like %?%;"
 类似资料:
  • 本文向大家介绍在MySQL数据库中快速搜索字符串?,包括了在MySQL数据库中快速搜索字符串?的使用技巧和注意事项,需要的朋友参考一下 使用FULLTEXT搜索来快速搜索字符串。让我们首先创建一个表- 这是创建全文本搜索的查询- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 以下是在MySQL数据库中快速搜索字符串的查询。在这里,我们正在搜索字符串

  • Java MySQL数据库我正在做一个项目,将一个路径名为“C:\Desktop\”的字符串保存到数据库中。我已经创建了一个实体类来将此路径名更新到数据库中,在javaeclipse中,当我运行程序时,它会显示路径以这种格式存储在数据库中,即“C:\Desktop\”,但在该路径的数据库列中,它只存储“C:Desktop”,没有“\”

  • 我正在学习SQL,我试图在表中保存用户感兴趣的标记列表(通常是字符串),最好的方法是什么?是否应将所有标记保存为新表中的主键?他们是否应该有他们的on主键,而我需要比较标记,看看它是否已经存在?我完全不知道什么是最好的解决办法。 应该类似于:

  • 1366字符串值不正确:“\XF0\X9F\X98\X83\XF0\X9F..."第1行的“comment”列

  • 我正在寻找创建一个数据库搜索(MySQL),使用PHP来查找电气部件的零件号,但希望搜索也能找到类似的字符 例如,搜索6SE7O90也应搜索6SE7090,搜索4I737A也应搜索4L737A,因为在某些零件标签上打印的0/O和I/L可能看起来相似。 在PHP/MySQL中实现这一点的最佳方法是什么?

  • 问题内容: 我有下表: 我使用以下SQL语句将值存储在表中 现在,我尝试将以下字符串存储为“文本”。 我收到以下错误消息: 错误:您的SQL语法有误。查看与您的MySQL服务器版本相对应的手册,以获取正确的语法以在“ t’t cur”中使用;我需要一些咖啡。’)’在第1行 我认为这一定是一个非常普遍的问题。我该如何解决? 问题答案: 我建议使用准备好的语句(使用mysqli或pdo),而不是转义。