我有一条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。如果我将其设置为一个值,它将正常工作,...
使用sql
时不要在executeQuery()
调用中提供PreparedStatement
字符串。