java - type 语句中的方法 executeQuery(string) 不适用于 arguments(),我哪里出错了?使用 Eclipse
问题描述
这是我遇到问题的代码,直接从我录制的讲座中赶上,他的行旁边没有错误,但我有吗?好奇我做错了什么,因为我直接从屏幕上复制代码。
'''
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();
'''
解决方案
语句没有 executeQuery() 方法,它只有 executeQuery(String) - 这就是错误告诉你的。
PreparedStatement 确实有 executeQuery(),但您将 pstat 定义为 Statement 而不是 PreparedStatement。改变
Statement pstat = ...
至
PreparedStatement pstat = ...
推荐阅读
- haskell - Haskell ghci 无法加载文件
- node.js - 如何使用电子窗口管理器在电子中打开多个窗口
- mysql - 在数据库中输入字符串的默认值
- python - idxmax() 给出一个找不到的索引。
- java - 如何使用类加载器加载 apache xmlbeans 类?
- r - 仅提取与 R 中日期的特定子字符串匹配的值
- c# - MySQL - DbProviderFactory.CreateCommandBuilder 返回 null
- javascript - 3 个字符长的字母数字正则表达式不起作用
- vim - vim 上的调试方案
- python - 对 Pandas 数据框进行排序并保存唯一条目