Java 语句无法执行我的查询

标签 java sql-server insert odbc

当我尝试在 Java 中执行查询时遇到问题。当我尝试在 SQL 中将对象添加到数据库时,它给出一个错误,指出该指令不发送结果集。当我在 sql server 中执行查询时,它工作正常并且插入对象。请帮助我。

public void addAlbum(String title, double price, String genre, String date, String home, String image) {

int number = getData().size();

boolean isThere = false;    

Statement statement;

for(int i = 0; i < getData().size();i++){

    if(getData().get(i).getTitle().equals(title)){

        isThere = true;

    }

}

if(!isThere){

    try{


        statement = connexion.createStatement();
        String query = "use albums INSERT INTO dbo.Album(Album.artist_number, title, price, genre, date, home, image) VALUES(" + number + ", '" + title + "', " + price + ", '" + genre + "', '" + date + "', '" + home + "', '" + image + "')";

        statement.executeQuery(query);

        getData().add(new Album(String.valueOf(number),title, price, genre, date, home));

        fireTableRowsInserted(getData().size() -1, getData().size() -1);

    }catch(SQLException e){

        JOptionPane.showMessageDialog(null,
                "Error "
                        + e.getMessage(), "Result",
                JOptionPane.ERROR_MESSAGE);

    }       


}else{

    JOptionPane.showMessageDialog(null,
            "There is already an album with this name", "Result",
            JOptionPane.ERROR_MESSAGE);

}
}

最佳答案

您需要使用Statement.executeUpdate(String)对于插入Statement.executeQuery(String)用于SELECT

PreparedStatement 更好、更简单、更安全。 Using Prepared Statements .

关于Java 语句无法执行我的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12664284/

相关文章:

java - 如何使用java8设置工作日

java - 无法将图像绘制到 JFrame

java - 将图像添加到 jar 中,使用 ANT 到特定位置

java - Java中的Gson Json解析

java - BiSection Java 测试输入

sql server 2008 : importing data from excel 2003 file

sql - SQL如果可能,将值转换为int,如果不可能,则将值设置为0

mysql - 表值作为 SQL 函数的输入

postgresql - INSERT TRIGGER 未按预期在 Postgres 中触发

php - 如果两个变量之一存储在另一个表中,如何将两个变量的乘积插入到一个表中?