type 语句中的方法 executeQuery(string) 不适用于 arguments(),我哪里出错了?使用 Eclipse

Posted

技术标签:

【中文标题】type 语句中的方法 executeQuery(string) 不适用于 arguments(),我哪里出错了?使用 Eclipse【英文标题】:method executeQuery(string) in the type statement is not applicable for the arguments (), Where am I going wrong? Using Eclipse 【发布时间】:2021-05-05 22:02:07 【问题描述】:

这是我遇到问题的代码,直接从我录制的讲座中赶上,他的行旁边没有错误但是我有吗?很好奇我做错了什么,因为我直接从屏幕上复制代码。

'''

public class DisplayAuthors 

// database URL
static final String DATABASE_URL = "jdbc:mysql://localhost/books";

public static void main ( String args[] ) 
    
    Connection connection = null;
    Statement pstat = null;
    ResultSet resultSet = null;
    
    try 
        
        // establish connection to database
        connection = DriverManager.getConnection(DATABASE_URL, "root", "");
        
        // create Prepared Statement for querying table
        pstat = connection.prepareStatement("SELECT AuthorID, FirstName, LastName FROM Authors");
        
        // query database
        resultSet = pstat.executeQuery();
        
        //process query results
        ResultSetMetaData metaData = resultSet.getMetaData();
        int numberOfColumns = metaData.getColumnCount();
        System.out.println(" Authors Table of Books Database:\n");
        
            for (int i = 1; i <= numberOfColumns; i++ ) 
                System.out.print(metaData.getColumnName( i )+ "\t");
                System.out.println();

'''

【问题讨论】:

Statement pstat 应该是PreparedStatement pstat 你真是个救世主,我都不知道我怎么不感谢你! 【参考方案1】:

语句没有 executeQuery() 方法,它只有 executeQuery(String) - 这就是错误告诉你的内容。

PreparedStatement 确实有 executeQuery(),但您将 pstat 定义为 Statement 而不是 PreparedStatement。改变

Statement pstat = ...

PreparedStatement pstat = ...

【讨论】:

以上是关于type 语句中的方法 executeQuery(string) 不适用于 arguments(),我哪里出错了?使用 Eclipse的主要内容,如果未能解决你的问题,请参考以下文章

executeexecuteQuery和executeUpdate之间的区别

00312_预处理对象executeQuery方法(实现数据库的查询)

execute(),executeQuery(),executeUpdate()和executeBatch()的使用与区别

转载----executeexecuteQuery和executeUpdate之间的区别

无法使用 executeQuery() 发出数据操作语句

Java 程序中执行update返回结果