Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Java向SQL查询中插入变量_Java_Mysql - Fatal编程技术网

从Java向SQL查询中插入变量

从Java向SQL查询中插入变量,java,mysql,Java,Mysql,如何在SQL查询中插入变量 这就是我目前所拥有的 public String getBugList(int amount) { Connection con = DatabaseConnection.getConnection(); try (PreparedStatement ps = con.prepareStatement("SELECT submitter, report FROM bugs_log ORDER BY id DESC limit )) } 我正在尝试列

如何在SQL查询中插入变量

这就是我目前所拥有的

public String getBugList(int amount) {
    Connection con  = DatabaseConnection.getConnection();
    try (PreparedStatement ps = con.prepareStatement("SELECT submitter, report FROM bugs_log ORDER BY id DESC limit ))
}
我正在尝试列出“数量”错误。因此,如果我输入2,则只会列出前2名。

请尝试以下代码:

public String getBugList(int amount) {
    Connection con  = DatabaseConnection.getConnection();
    String query = "SELECT submitter, report FROM bugs_log ORDER BY id DESC limit ?";
    try(PreparedStatement ps = con.prepareStatement(query)) {
        ps.setInt(1, amount);
    }
}

放一个?在所需的变量位置。然后,从这个API调用变量类型的set方法


在您的情况下,您需要一个int,因此请调用
ps.setInt(1,x)
。如果您想要多个变量,或者在SQL术语中是一个“参数”,只需使用多个
。PreparedStatement setter方法需要参数索引。最大索引等于查询中的

虽然看起来是正确的,但我不能说我是这个答案的粉丝,因为它不使用try-with-resources,因为该语言结构非常适合(OP使用了它)@Vulcan我的公司一直在使用Java 6,直到大约两周前……我们最终升级到Java 7,但我们可以说我一直在编写代码,在Jay Gosling还是个年轻人的时候就可以编译了。