gpt4 book ai didi

java - 将序列的下一个值与字符串连接起来

转载 作者:行者123 更新时间:2023-12-02 07:58:43 24 4
gpt4 key购买 nike

我希望在与某个字符串值连接后将序列下一个值插入到表中。例如:案例12。这里“case”将是字符串,“12”将是下一个序列值。我正在我的 jsp 页面中尝试此代码。

String name=request.getParameter("name").toString();
String pwd=request.getParameter("pass").toString();
out.print(name+" and "+pwd);
String add="case";
PreparedStatement ps = connect.prepareStatement("insert into test(caseid,userid,pass) values('CONCAT('"+add+"',test_seq.nextval)',?,?)");
ps.setString(1,name);
ps.setString(2,pwd);
ps.executeUpdate();
connect.commit();
connect.close();

但是,我收到此错误java.sql.SQLException:ORA-00917:缺少逗号

谁能告诉我上述问题的解决方案。任何帮助表示赞赏。!!

最佳答案

如果可能的话,您应该更喜欢传递参数而不是动态组装 SQL 语句。因此,如果您不希望“case”成为硬编码常量,它应该是绑定(bind)变量。

此外,您不希望在 CONCAT 调用周围使用单引号。像这样的东西应该可以工作。

String name=request.getParameter("name").toString();
String pwd=request.getParameter("pass").toString();
out.print(name+" and "+pwd);
String add="case";
String sqlStmt = "insert into test(caseid,userid,pass) values(CONCAT(?,test_seq.nextval),?,?)";
PreparedStatement ps = connect.prepareStatement(sqlStmt);
ps.setString(1,add);
ps.setString(2,name);
ps.setString(3,pwd);
ps.executeUpdate();
connect.commit();
connect.close();

关于java - 将序列的下一个值与字符串连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9233033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com