目前我正在使用 h2 嵌入式数据库为学生数据库开发 Java 应用程序。我只想知道如何使用用户输入更新密码。
Scanner sc=new Scanner(System.in);
String username,password,user="admin",pass;
System.out.println("User name:");
username=sc.next();
System.out.println("Password:");
password=sc.next();
Class.forName("org.h2.Driver");
Connection c=DriverManager.getConnection("jdbc:h2:database",username ,password);
Statement s=c.createStatement();
System.out.println("Enter new password:");
pass=sc.next();
s.execute("alter user "+user+" identified by "+pass);
Run Code Online (Sandbox Code Playgroud)
上面给出的是部分代码段,它显示了以下执行错误:
线程“main” org.h2.jdbc.JdbcSQLException 中的异常:SQL 语句“ALTER USER ADMIN IDENTIFIED[*] BY POPPER”中的语法错误;预期“设置,重命名,管理员”;SQL 语句:更改由 popper 标识的用户管理员 [42001-176]
您尝试过 Oracle 语法。尝试 h2 语法
ALTER USER admin SET PASSWORD 'aaa';
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅http://www.h2database.com/html/grammar.html#alter_user_set_password
编辑 1
您的代码需要更改为
s.execute("alter user "+user+" set password '"+pass + "'");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5280 次 |
| 最近记录: |