JAVA - SQL 语法错误
JAVA - SQL SYNTAX ERROR
我正在 Java 中创建一个方法。那是从数据库中检索消息,但我不断收到语法错误。有人可以帮助我吗?
public static String retrieveMessages()
{
PreparedStatement pstmt;
try
{
pstmt = connection.prepareStatement("SELECT * from tblEmail"
+ "INNERJOIN tblUser "
+ "ON tblUser.username = tblEmail.`from`"
+ "WHERE tblUser.username = ?");
pstmt.setString(1, user.Getuser());
results = pstmt.executeQuery();
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return (results.toString());
}
您需要添加空格(在INNER
之前和WHERE
之前)。将查询拆分为多行不会将一行的末尾与下一行的开头分开。
pstmt = connection.prepareStatement("SELECT * from tblEmail "
+ "INNER JOIN tblUser "
+ "ON tblUser.username = tblEmail.`from` "
+ "WHERE tblUser.username = ?");
当你写:
"SELECT * from tblEmail"
+ "INNER JOIN tblUser "
等同于:
"SELECT * from tblEmailINNER JOIN tblUser "
在tblEmail
和inner
之间以及from
和where
之间添加space
pstmt = connection.prepareStatement("SELECT * from tblEmail "
+ "INNER JOIN tblUser "
+ "ON tblUser.username = tblEmail.`from` "
+ "WHERE tblUser.username = ?");
我正在 Java 中创建一个方法。那是从数据库中检索消息,但我不断收到语法错误。有人可以帮助我吗?
public static String retrieveMessages()
{
PreparedStatement pstmt;
try
{
pstmt = connection.prepareStatement("SELECT * from tblEmail"
+ "INNERJOIN tblUser "
+ "ON tblUser.username = tblEmail.`from`"
+ "WHERE tblUser.username = ?");
pstmt.setString(1, user.Getuser());
results = pstmt.executeQuery();
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return (results.toString());
}
您需要添加空格(在INNER
之前和WHERE
之前)。将查询拆分为多行不会将一行的末尾与下一行的开头分开。
pstmt = connection.prepareStatement("SELECT * from tblEmail "
+ "INNER JOIN tblUser "
+ "ON tblUser.username = tblEmail.`from` "
+ "WHERE tblUser.username = ?");
当你写:
"SELECT * from tblEmail"
+ "INNER JOIN tblUser "
等同于:
"SELECT * from tblEmailINNER JOIN tblUser "
在tblEmail
和inner
之间以及from
和where
pstmt = connection.prepareStatement("SELECT * from tblEmail "
+ "INNER JOIN tblUser "
+ "ON tblUser.username = tblEmail.`from` "
+ "WHERE tblUser.username = ?");