我可以将包含数据的字符串与 mysql 查询连接起来吗?

Can i concatenate my String containing data with a mysql Query?

我将此代码部分设为:

String t = (tname2.getText());
     String h = (value2.getText());

     PreparedStatement ps ;

     if(h.length()>2)
     {
         ps = con.prepareStatement("DELETE FROM "+t+" where empname = "+ h);
         //ps.setString(2,h);
         ps.executeUpdate();
           JOptionPane.showMessageDialog(null, "Record deleted !", "Confirmation", JOptionPane.INFORMATION_MESSAGE);
     }

现在,ps = con.prepareStatement("DELETE FROM "+t+" where empname = "+ h); 行无法正常工作。它以相反的方式使用“?”。就像"Delete * from "+ t +" where empname =?"; 然后设置 empname 的值。我想知道,如果有一种方法可以使用我的 empname 与查询的串联来做事?有人可以提供一些提示吗? `

您缺少正确打开和关闭双引号:

试试这个:

ps = con.prepareStatement("DELETE FROM " + t + " where empname = '" + h + "'");

将 PreparedStatement 与参数化查询一起使用并设置值。
这种使用也将防止 SQL 注入。
因为将值连接到您的查询中容易受到 SQL 注入。

例如。

ps = con.prepareStatement("DELETE FROM "+t+" where empname = ?");
psmt.setString(1, h);