java - 在 mysql 的 SELECT 查询中使用 JTextBox 的值

标签 java

我有一个文本框。当用户在文本框中输入名称时,我希望从表格中获取详细信息

String getTxt = text.getText();
ResultSet rs=st.executeQuery("SELECT * FROM authors_4 WHERE self_authors="+getTxt);

执行此操作时出现异常

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server

有什么办法可以解决这个问题吗?需要帮助

最佳答案

您缺少单引号:

st.executeQuery("SELECT * FROM authors_4 WHERE self_authors='" + getTxt + "'");

最好使用 PreparedStatement 来防止 SQL Injection攻击。

关于java - 在 mysql 的 SELECT 查询中使用 JTextBox 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15685027/

相关文章:

java - Facebook 登录按钮适用于我的帐户,但不适用于我 friend 的帐户

java - 如何将正则表达式与行尾匹配?

java - XML 序列化和空构造函数

java - "deck shuffling"程序 : getting unexpected zeroes in results Java 出现问题

java - 比较器类中的错误

java - 使用 Java 和 UTF-8 编码生成有效的 XML

java - NullPointerException : Attempt to invoke virtual method 'void com. google.android.gms.maps.MapFragment.getMapAsync

java - 某些验证方法遇到问题

java - Java 中的 while 循环后代码未运行

java - 改造预计为 BEGIN_OBJECT,但实际为 BEGIN_ARRAY android