SQL选择查询不与变量参数在我的servlet工作



我试图在netbeans中执行以下代码行:

ResultSet rs = stmnt.executeQuery("select * from ZEE.WORDCOUNT where WORD =" + searchTxt);

where searchTxt是字符串变量

,但它说"列'zeeshan'要么不在FROM列表中的任何表中,要么出现在连接规范中,并且不在连接. . . .的范围内"。

如果我提供硬编码的值而不是变量,它确实工作得很好,如:

ResultSet rs = stmnt.executeQuery("select * from ZEE.WORDCOUNT where WORD= 'zeeshan'");

我没有得到,我错过了什么?

您缺少正在构建的sql字符串周围的单引号。所以这应该可以工作:

ResultSet rs = stmnt.executeQuery("select * from ZEE.WORDCOUNT where WORD ='" + searchTxt+"'");

请注意,以这种方式构造SQL语句是非常危险的,因为它使您的应用程序容易受到SQL注入攻击。使用bind参数代替。

最新更新