Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将存储在SQL数据库中的ArrayList添加到jForm中的表中_Java_Sql_Oracle_Swing_Arraylist - Fatal编程技术网

Java 将存储在SQL数据库中的ArrayList添加到jForm中的表中

Java 将存储在SQL数据库中的ArrayList添加到jForm中的表中,java,sql,oracle,swing,arraylist,Java,Sql,Oracle,Swing,Arraylist,我目前的问题是,我无法为我的酒店管理GUI获取我的房间列表,以显示我的jTable中的房间阵列列表 我目前的代码是: RoomMapper: public ArrayList<Room> getRooms(Connection con) { ArrayList<Room> rooms = new ArrayList(); String sqlString1 = "select * from room "

我目前的问题是,我无法为我的酒店管理GUI获取我的房间列表,以显示我的jTable中的房间阵列列表

我目前的代码是:

RoomMapper:

public ArrayList<Room> getRooms(Connection con) {

    ArrayList<Room> rooms = new ArrayList();

    String sqlString1
            = "select * from room "
            + "order by room_id";
    String sqlString2 = "SELECT TABLE_NAME FROM USER_TABLES";

    PreparedStatement statement;
    try {

        statement = con.prepareStatement(sqlString1);
        ResultSet rs = statement.executeQuery();
        int i = 0;
        while (rs.next()) {
            i++;
            System.out.println(rs.getString(1));
            System.out.println("just added room nb " + i);
            rooms.add(new Room(rs.getInt(1), rs.getInt(2), 0, "stringy string"));
        }

        statement.close();
    } catch (Exception e) {
        System.out.println("Fail in RoomMapper - getRooms");
        System.out.println(e.getMessage());
    }
    System.out.println("rooms arraylist size: " + rooms.size());
    return rooms;
}
以及我的jTable实现:

 public HotelGuiForm() throws ClassNotFoundException, SQLException
{

    initComponents();
    DefaultTableModel dtm = new DefaultTableModel();
    ArrayList<Room> rooms = new ArrayList<>();




    Class.forName("oracle.jdbc.driver.OracleDriver");
    String stringCon = "jdbc:oracle:thin:@datdb.cphbusiness.dk:1521:dat;user;cphsh241;password;cphsh241";

    Connection con = DriverManager.getConnection(stringCon);
    java.sql.Statement state = con.createStatement();

    ResultSet rs = state.executeQuery("SELECT * FROM Room_Booking");

    ResultSetMetaData rsmetadata = rs.getMetaData();

    int columns = rsmetadata.getColumnCount();

    Vector columns_name;
    columns_name = new Vector();
    Vector data_rows;
    data_rows = new Vector();

    for (int i = 1; i < columns; i++)
    {
        columns_name.addElement(rsmetadata.getColumnName(i));
    }
    dtm.setColumnIdentifiers(columns_name);

    while (rs.next())
    {
        data_rows = new Vector();
        for (int j = 1; j < columns; j++)
        {
            data_rows.addElement(rs.getString(j));
        }
        dtm.addRow(data_rows);
    }


    jTable2.setModel(dtm);


}
public HotelGuiForm()抛出ClassNotFoundException、SQLException
{
初始化组件();
DefaultTableModel dtm=新的DefaultTableModel();
ArrayList房间=新建ArrayList();
类forName(“oracle.jdbc.driver.OracleDriver”);
String stringCon=“jdbc:oracle:thin:@datdb.cphbusiness.dk:1521:dat;用户;cphsh241;密码;cphsh241”;
Connection con=DriverManager.getConnection(stringCon);
java.sql.Statement state=con.createStatement();
ResultSet rs=state.executeQuery(“从房间预订中选择*);
ResultSetMetaData rsmetadata=rs.getMetaData();
int columns=rsmetadata.getColumnCount();
向量列名称;
列_name=新向量();
矢量数据行;
数据_行=新向量();
对于(int i=1;i
每当我运行项目时,我都会遇到一系列jdbc错误,我可以在这里列出:

 at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:673)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:715)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:385)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:30)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:564)
    at java.sql.DriverManager.getConnection(DriverManager.java:571)
    at java.sql.DriverManager.getConnection(DriverManager.java:233)
    at presentation.HotelGuiForm.<init>(HotelGuiForm.java:46)
    at presentation.HotelGuiForm.main(HotelGuiForm.java:84)
Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

    at oracle.net.ns.NSProtocolStream.negotiateConnection(NSProtocolStream.java:272)
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:263)
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1360)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:486)
    ... 8 more
位于oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:673)
位于oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:715)
位于oracle.jdbc.driver.T4CConnection(T4CConnection.java:385)
位于oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:30)
位于oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:564)
位于java.sql.DriverManager.getConnection(DriverManager.java:571)
位于java.sql.DriverManager.getConnection(DriverManager.java:233)
HotelGuiForm.(HotelGuiForm.java:46)
位于presentation.HotelGuiForm.main(HotelGuiForm.java:84)
原因:oracle.net.ns.NetException:侦听器拒绝连接,出现以下错误:
ORA-12505,TNS:侦听器目前不知道连接描述符中给出的SID
位于oracle.net.ns.NSProtocolStream.negotiateConnection(NSProtocolStream.java:272)
位于oracle.net.ns.NSProtocol.connect(NSProtocol.java:263)
位于oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1360)
位于oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:486)
... 8个以上
有没有人看到了内在的问题,因为我没有看到它,这真的让我很烦恼,因为我已经为此工作了几天了

如果有人能帮我解决这个问题,我将不胜感激


谢谢。

我不知道你的错误来源,但我可以告诉你,你想一下子做的太多了。如果我是你,我会在一个小的非GUI程序中修复SQL错误,然后只有在它被修复之后,才能将它带到GUI中。否则,你有太多的东西要看,却不知道该去哪里看。想想看,
“分而治之”
。行得通我试过这个,我问了另外一个问题,我一直在问这个错误:错误:找不到或加载主类displayrooms.displayrooms Java结果:1你可以看到我添加了
oracle
标记的问题,因为我觉得
ORA-12505
错误才是真正需要解决的问题。是的,我也这么认为@JonK,但当我试着读它的时候,我更加困惑了。
 at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:673)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:715)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:385)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:30)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:564)
    at java.sql.DriverManager.getConnection(DriverManager.java:571)
    at java.sql.DriverManager.getConnection(DriverManager.java:233)
    at presentation.HotelGuiForm.<init>(HotelGuiForm.java:46)
    at presentation.HotelGuiForm.main(HotelGuiForm.java:84)
Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

    at oracle.net.ns.NSProtocolStream.negotiateConnection(NSProtocolStream.java:272)
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:263)
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1360)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:486)
    ... 8 more