Java sql ResultSet没有数据

标签 java sql-server odbc resultset

我想用java从我的sql数据库中提取唯一的一个数据。我尝试使用 resultSet,但是当我想将第一行提取到 int 变量中时,它说 resultSet 没有内容。

这是我的代码

try {

            statement = connexion.createStatement();
            statementArtist = connexion.createStatement();
            String artist = "Mac Miller";
            ResultSet resultat = statement.executeQuery("USE albums SELECT Album.numero_artist FROM Album INNER JOIN Artist ON Album.num_artist = Artiste.num_artist where name like '"+artist+"'");    
            int result = resultat.getInt(1); // Here is the problem
            String query = "USE albums INSERT INTO dbo.Album(Album.num_artist, title, price, genre, date, home, image) VALUES("
                    + result
                    + ", '"
                    + title
                    + "', "
                    + price
                    + ", '"
                    + genre
                    + "', '"
                    + date
                    + "', '"
                    + home
                    + "', '"
                    + image
                    + "')";
            statement.executeUpdate(query);

最佳答案

您应该在结果集上调用 next() 方法来“移动”迭代器:

...
ResultSet resultat = statement.executeQuery("USE albums SELECT Album.numero_artist FROM Album INNER JOIN Artist ON Album.num_artist = Artiste.num_artist where name like '"+artist+"'");    
resultat.next();           
int result = resultat.getInt(1); // Here is the problem
...

如果安全性和更好的性能对您的应用程序很重要,您还应该考虑使用准备好的语句。

关于Java sql ResultSet没有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12665590/

相关文章:

java - SQL SERVER 2008-无法获取 ddl 架构中少数对象的对象定义?

sql - 将数据导出到 csv 文件的存储过程仅导出到一个文件

java - MySQL limit子句是如何实现的

sql - 使用列名称对 UnPivoted 数据进行 SP 或函数

sql-server - Solaris 10 上的 Oracle ODBC 驱动程序

php - 如何使用 PHP ODBC 客户端捕获 print 语句生成的 T-SQL 输出?

java.sql.SQLException : General error

java - 什么是静态和非静态?何时使用以及如何使用它们?

java - 正则表达式捕获组在一个组中

JavaFx 停止移动图像涂抹 Canvas