如何修复 `Encountered <EOF> at line 1 ...` 问题

How to fix `Encountered <EOF> at line 1 ...` issues

我正在尝试在 JavaFx 项目中创建一个 derby 数据库,当我 运行 项目和 table 创建但我无法向 table.

代码如下:

void setupMEMBERTable() 
{
    String TABLE_NAME = "MEMBER";
    try {
        stmt = conn.createStatement();
        DatabaseMetaData dbm = conn.getMetaData();
        ResultSet tables = dbm.getTables(null, null, TABLE_NAME.toUpperCase(), null);
        if (tables.next()) {
            System.out.println("Table" + TABLE_NAME);
        } else {
            stmt.execute("create TABLE MEMBER("
                    +"full_name varchar  (200),"
                    +"address  varchar  (200),"
                    +"mobile  varchar  (200),"
                    +"email varchar(200) primary key ,"
                    +"password  varchar  (200),"
                    +"status boolean default true " + ")"); // Updated
        }
    } catch (SQLException e){
        System.err.println(e.getMessage()+"........SETUP DATABASE");
    } finally { }
}

public ResultSet execQuery(String query) {
    ResultSet result;
    try {
        stmt = conn.createStatement();
        result = stmt.executeQuery(query);
    }
    catch (SQLException ex) {
        System.out.println("Exception at execQuery:dataHandler" + ex.getLocalizedMessage());
        return null;
    }
    finally {
    }
    return result;
}

public boolean execAction(String qu) {
    try {
        stmt = conn.createStatement();
        stmt.execute(qu);
        return true;
    }
    catch (SQLException ex) {
        JOptionPane.showMessageDialog(null, "Error:" + ex.getMessage(), "Error Occurred", JOptionPane.ERROR_MESSAGE);
        System.out.println("Exception at execAction:DataHandler " + ex.getLocalizedMessage());
        return false;
    }
    finally {
    }
}

错误

   Exception at execAction:dataHandler23505 : [0] SQL0000000001-03d30059-0177-5922-d5b6-00001e28fd60, [1] MEMBER

当我尝试添加新会员时出现这种情况。如您所见,查询未在 execAction(qu) 方法中执行。
我该怎么做才能解决这个问题?

在我看来,您在以下行中缺少 )

"status boolean default true <HERE>");

我相信 Encountered <EOF> at line 1 异常消息是由数据库驱动程序发出的语法错误,因为它在到达语句末尾时仍然期待一些东西,在你的例子中是 177 个字符长。