将preparedStatement添加到选择语句[重复项]

问题描述 投票:1回答:1

我有一条select语句,用于收集用户发布的视频数量。发布了一定数量的视频后,我将返回用户ID。如果将其设置为一个值,它可以正常工作,但是我想将用户输入合并到其中。所以我创建了一个Jfield供用户输入数字,但是我不确定如何在其中添加准备好的语句。尝试时,出现“?”附近的sql语句错误。

所以我的代码没有准备好的语句是

            try {

                Class.forName("com.mysql.cj.jdbc.Driver");
                Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/userdatabase", "root", "pass1234");
                        Statement stmt= con.createStatement();
                        String sql =" SELECT userid FROM video GROUP BY userid HAVING COUNT(video_name) = 2";



                        ResultSet rs=stmt.executeQuery(sql);
                        while (rs.next()) {
                            // handle row 

                        {


                             String i = rs.getString("userid");





                             model.addRow(new Object[]{i});
                                table.setModel(model);

                                }
                        }
                        {

                        con.close();}
                } catch(Exception e) {System.out.print (e);}



        }

这是我要添加的prepareStatement,我在添加'?'值到我当前拥有“ 2”的位置。

String enter = txtEnter.getText();
                            PreparedStatement prep = con.prepareStatement(sql);
                            prep.setString(1,enter);

我有一条select语句,用于收集用户发布的视频数量。发布了一定数量的视频后,我将返回用户ID。如果我将其设置为一个值,它将正常工作,...

java sql eclipse jdbc
1个回答
2
投票

使用sql时不要在executeQuery()调用中提供PreparedStatement字符串。

© www.soinside.com 2019 - 2024. All rights reserved.