Java 50894读取错误:尝试选择查询以比较用户名和密码时,关键字“user”附近的语法不正确
将标识符保护为,并且不能使用。考虑下面的,使用[]-引号-引文也可以工作; 从[用户]中选择用户名、密码,其中用户名=?密码=? 对于不同的保留字,此错误相当常见-请务必参阅手册。理想情况下,我会给表和列命名,使它们不是任何保留关键字 另外,将executeUpdate更改为,因为这是一个选择操作 也可以谨慎地切换到不存储纯文本密码的用户表。。纯文本密码的问题有两个方面 桌上未经授权的阅读会立即损害所有账户,并且; 人们经常重复使用密码,这会使他们的其他帐户(如电子邮件、银行帐户)易受攻击。 将标识符保护为,并且不能使用。考虑下面的,使用[]-引号-引文也可以工作; 从[用户]中选择用户名、密码,其中用户名=?密码=? 对于不同的保留字,此错误相当常见-请务必参阅手册。理想情况下,我会给表和列命名,使它们不是任何保留关键字 另外,将executeUpdate更改为,因为这是一个选择操作 也可以谨慎地切换到不存储纯文本密码的用户表。。纯文本密码的问题有两个方面 桌上未经授权的阅读会立即损害所有账户,并且; 人们经常重复使用密码,这会使他们的其他帐户(如电子邮件、银行帐户)易受攻击。Java 50894读取错误:尝试选择查询以比较用户名和密码时,关键字“user”附近的语法不正确,java,sql-server,database,Java,Sql Server,Database,将标识符保护为,并且不能使用。考虑下面的,使用[]-引号-引文也可以工作; 从[用户]中选择用户名、密码,其中用户名=?密码=? 对于不同的保留字,此错误相当常见-请务必参阅手册。理想情况下,我会给表和列命名,使它们不是任何保留关键字 另外,将executeUpdate更改为,因为这是一个选择操作 也可以谨慎地切换到不存储纯文本密码的用户表。。纯文本密码的问题有两个方面 桌上未经授权的阅读会立即损害所有账户,并且; 人们经常重复使用密码,这会使他们的其他帐户(如电子邮件、银行帐户)易受攻击。 将
在使用select查询时,请替换此查询 state.executeUpdate;使用ResultSet rs=state.executeQuery 然后检查是否存在具有如下指定用户名和密码的记录
public void login(String name,String password) throws SQLException{
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException ex) {
Logger.getLogger(SocketServer.class.getName()).log(Level.SEVERE, null, ex);
}
java.sql.Connection conn = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1;"+"user=looi963;password=1234;database=user");
PreparedStatement state=conn.prepareStatement("Select username,password from user where username=? and password = ?");
state.setString(1,name);
state.setString(2, password );
int count = state.executeUpdate();
if(count>0){
System.out.println("Successful login");
}
}
在使用select查询时,请替换此查询 state.executeUpdate;使用ResultSet rs=state.executeQuery 然后检查是否存在具有如下指定用户名和密码的记录
public void login(String name,String password) throws SQLException{
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException ex) {
Logger.getLogger(SocketServer.class.getName()).log(Level.SEVERE, null, ex);
}
java.sql.Connection conn = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1;"+"user=looi963;password=1234;database=user");
PreparedStatement state=conn.prepareStatement("Select username,password from user where username=? and password = ?");
state.setString(1,name);
state.setString(2, password );
int count = state.executeUpdate();
if(count>0){
System.out.println("Successful login");
}
}
不同客户端语言可能存在重复,但问题相同运行查询时不要使用executeUpdate。改用executeQuery。请阅读您正在使用的方法的Javadoc,并阅读JDBC教程,例如Oracle的官方教程:不同客户端语言可能重复,但问题相同运行查询时不要使用executeUpdate。改用executeQuery。请阅读您正在使用的方法的Javadoc,并阅读JDBC教程,例如Oracle的官方教程:但是,还有另一个错误55447错误阅读:生成了一个用于更新的结果集。有什么想法吗?我需要一个resultset语句来运行它吗?@looi963确保针对不同的问题问不同的问题-但首先搜索!但是,还有另一个错误55447错误读取:为更新生成了一个结果集。有什么想法吗?我需要一个resultset语句来运行它吗?@looi963确保针对不同的问题问不同的问题-但首先搜索!