首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.lang.ClassCastException:不能将com.mysql.jdbc.JDBC4ResultSet转换为com.mysql.jdbc.ResultSet

问java.lang.ClassCastException:不能将com.mysql.jdbc.JDBC4ResultSet转换为com.mysql.jdbc.ResultSet
EN

Stack Overflow用户
提问于 2016-11-12 18:23:31
回答 1查看 6.8K关注 0票数 0

下面显示了在运行代码时收到的错误消息。

代码语言:javascript
复制
java.lang.ClassCastException: com.mysql.jdbc.JDBC4ResultSet cannot be cast to com.mysql.jdbc.ResultSet

我不明白为什么会发生这个错误,所以有人可以告诉我原因,或者更好地给我一个解决问题的方法。下面是整个代码

代码语言:javascript
复制
package com.hotel.database;


import com.hotel.beans.VehicleTypeBean;


import java.sql.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.ResultSet;
import com.mysql.jdbc.Statement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Vector;
import com.hotel.beans.ReservationDetailsBean;
import com.hotel.beans.AgentBean;
import com.hotel.beans.CheckInBean;
import com.hotel.beans.CompanyBean;
import com.hotel.beans.CustomerBean;
import com.hotel.beans.RecieptBean;
import com.hotel.beans.ReservationBean;
import com.hotel.beans.RoomClassBean;
import com.hotel.beans.RoomRateBean;
import com.hotel.beans.RoomStatusBean;
import com.hotel.beans.TransportRecieptBean;
import com.hotel.beans.TransportfareBean;
import com.hotel.beans.VehicleBean;
import com.hotel.beans.VehicleDriverBean;
import java.sql.Date;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Vector;
/**
 *
 * @author lenovo
 */
public class Transport {
     Connection conn=null;
    ResultSet rs=null;
    PreparedStatement stmt=null;
    private Vector v;
    private LinkedList[] lst;
    private int stId;
    private Statement state;
    private ResultSet res;
    public Transport(){
         conn=ConnectionProvider.getConnection();
    }
public LinkedList [] getWalkInGuests()throws Exception
        {
           int count=0;
stmt=(PreparedStatement) conn.prepareStatement("select count(distinct customerId) from transport where reservationId=-1");
rs=(ResultSet) stmt.executeQuery();
    if(rs.next())
    {
    count=rs.getInt(1);
    }
    lst=new LinkedList[count];
        if(lst.length<1)
            return lst;
    count=0;
   stmt=(PreparedStatement) conn.prepareStatement("SELECT customer.customer_id,customer.firstName,customer.lastName,customer.address from customer where customer.customer_id IN (select customerId from transport where reservationid=-1)");
         // stmt.setInt(1, )
    rs=(ResultSet) stmt.executeQuery();
    while(rs.next())
    {
        lst[count]=new LinkedList();
        lst[count].add(rs.getInt("customer.customer_id"));
        lst[count].add(rs.getString("customer.firstName"));
        lst[count].add(rs.getString("customer.lastName"));
    lst[count].add(rs.getString("customer.address"));
     count++;
    }   
    return lst;
}
}
EN

回答 1

Stack Overflow用户

发布于 2017-07-24 18:27:03

你必须改变你的包裹:-这些都不对:

代码语言:javascript
复制
import com.mysql.jdbc.DriverManager;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;

你可以用这个..。

代码语言:javascript
复制
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.PreparedStatement;

因为您正在使用连接作为com.mysql和DriverManager,分别使用java.sql类似。这就是错误发生的原因。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40566180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档