我得到这个:
java.sql.SQLException:[Microsoft] [ODBC Microsoft Access驱动程序] FROM子句中的语法错误。
对于我的代码:
ResultSet results = state.executeQuery("SELECT * FROM User" + "WHERE user_name = '" +
txtUser.getText() + "'AND password = '" + txtPass.getText() + "'" );
我已经声明了所有变量,我怀疑错误与结构有关,但我不确定。感谢
答案 0 :(得分:3)
如果您密切注意此行中的代码:
"SELECT * FROM User" + "WHERE user_name
你可以看到这导致
SELECT * FROM UserWHERE user_name
您需要添加空格。
此外,您可以通过构建这样的语句来打开SQL注入攻击。您应该使用PreparedStatement
并使用占位符。您也不需要手动构建语句,这可以帮助您避免这个问题。