import java.sql.*; // Needed for JDBC classes
public class StudentDB
{
public static void main(String[] args)
{
final String DB_URL = "jdbc:derby:StudentDB;create=true";
try{
Connection conn = DriverManager.getConnection(DB_URL);
dropTables(conn);
buildMichaelTable(conn);
buildEvanTable(conn);
buildJeffTable(conn);
conn.close();
}
catch (Exception ex)
{
System.out.println("ERROR: " + ex.getMessage());
}
}
public static void dropTables(Connection conn)
{
System.out.println("Checking for existing tables.");
try
{
Statement stmt = conn.createStatement();
try
{
stmt.execute("DROP TABLE Michael");
System.out.println("Michael table dropped.");
}
catch(SQLException ex)
{
}
try
{
stmt.execute("DROP TABLE Evan");
System.out.println("Evan table dropped.");
}
catch(SQLException ex)
{
}
try
{
stmt.execute("DROP TABLE Jeff");
System.out.println("Jeff table dropped.");
}
catch(SQLException ex)
{
}
}
catch(SQLException ex)
{
System.out.println("ERROR: " + ex.getMessage());
ex.printStackTrace();
}
}
public static void buildMichaelTable(Connection conn)
{
try
{
Statement stmt = conn.createStatement();
stmt.execute("CREATE TABLE Michael (" +
"MichaelName CHAR(25), " +
"MichaelStudentID CHAR(10) NOT NULL PRIMARY KEY, " +
"MichaelClasses CHAR(25) " +
"MichaelStudentGrades CHAR(5) " +
")");
stmt.execute("INSERT INTO Michael VALUES ( " +
"'Michael Goldman', " +
"'1216145', " +
"'Programming II', " +
"4.00 )");
stmt.execute("INSERT INTO Michael VALUES ( " +
"' '," +
"' '," +
"'Cyber Law', " +
"3.45 )" );
stmt.execute("INSERT INTO Michael VALUES ( " +
"' '," +
"' '," +
"'Operating Systems', " +
"2.90 )");
System.out.println("Michael table created.");
}
catch (SQLException ex)
{
System.out.println("ERROR: " + ex.getMessage());
}
}
public static void buildEvanTable(Connection conn)
{
try
{
Statement stmt = conn.createStatement();
stmt.execute("CREATE TABLE Evan (" +
"EvanName CHAR(25), " +
"EvanStudentID CHAR(10) NOT NULL PRIMARY KEY, " +
"EvanClasses CHAR(25) " +
"EvanStudentGrades CHAR(5) " +
")");
stmt.execute("INSERT INTO Evan VALUES ( " +
"'Evan Bloom', " +
"'1412179', " +
"'Programming II', " +
"3.45 )");
stmt.execute("INSERT INTO Evan VALUES ( " +
"' '," +
"' '," +
"'Cyber Law', " +
"4.00 )");
stmt.execute("INSERT INTO Evan VALUES ( " +
"' '," +
"' '," +
"'Operating Systems', " +
"2.90 )");
System.out.println("Evan table created.");
}
catch (SQLException ex)
{
System.out.println("ERROR: " + ex.getMessage());
}
}
public static void buildJeffTable(Connection conn)
{
try
{
Statement stmt = conn.createStatement();
stmt.execute("CREATE TABLE Jeff (" +
"JeffName CHAR(25), " +
"JeffStudentID CHAR(10) NOT NULL PRIMARY KEY, " +
"JeffClasses CHAR(25) " +
"JeffStudentGrades CHAR(5) " +
")");
stmt.execute("INSERT INTO Jeff VALUES ( " +
"'Jeff Royer', " +
"'1592179', " +
"'Programming II', " +
"2.95 )");
stmt.execute("INSERT INTO Jeff VALUES ( " +
"' '," +
"' '," +
"'Cyber Law', " +
"1.72 )");
stmt.execute("INSERT INTO Jeff VALUES ( " +
"' '," +
"' '," +
"'Operating Systems', " +
"2.87 )");
System.out.println("Jeff table created.");
}
catch (SQLException ex)
{
System.out.println("ERROR: " + ex.getMessage());
}
}
}
这是我的第一篇文章,希望我能正确格式化。我正在尝试使用Java DB制作三个不同学生的三个表,但我一直在收到错误:
ERROR: Syntax error: Encountered "MichaelStudentGrades" at line 1, column 117.
ERROR: Syntax error: Encountered "EvanStudentGrades" at line 1, column 105.
ERROR: Syntax error: Encountered "JeffStudentGrades" at line 1, column 105.
我找不到语法错误,请帮助任何指导,非常感谢。
答案 0 :(得分:0)
MichaelClasses CHAR(25)之后的SQL代码中缺少逗号:
stmt.execute("CREATE TABLE Michael (" +
"MichaelName CHAR(25), " +
"MichaelStudentID CHAR(10) NOT NULL PRIMARY KEY, " +
"MichaelClasses CHAR(25) " +
"MichaelStudentGrades CHAR(5) " +
")");