0

次のエラーが表示されます。

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: SQL 構文にエラーがあります。1 行目の near '' を使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

次のコードを実行しようとしている間:

String sql = "INSERT INTO `tutors`.`appointments`"
        + "(`tutorID`, `tuteeName`, `tuteeEmail`, `time`, `date`)"
        + ("VALUES(?, ?, ?, ?, ?");
 try {
     PreparedStatement ps = conn.prepareStatement(sql);
     ps.setInt(1, working.get(0).getTutorID());
     ps.setString(2, tuteeName);
     ps.setString(3, tuteeEmail);
     ps.setDate(4, date);
     ps.setTime(5, time);
     ps.executeUpdate();

' '例外が参照しているのは何を生成していますか? 私はJavaでSQLを扱うことを学んでいるので、これはばかげた構文エラーだと確信しています...

4

3 に答える 3

7

VALUES 括弧を閉じていませんでした:

 String sql = "INSERT INTO `tutors`.`appointments`"
            + " (`tutorID`, `tuteeName`, `tuteeEmail`, `time`, `date`)"
            +  ("VALUES(?, ?, ?, ?, ?)");
于 2013-03-15T06:08:56.410 に答える
1

SQL 文字列に問題があります。そのはず

"INSERT INTO `tutors`.`appointments`"
            + "(`tutorID`, `tuteeName`, `tuteeEmail`, `time`, `date`)"
            + "VALUES(?, ?, ?, ?, ?)";
于 2013-03-15T06:15:06.817 に答える
0

3 行目の最初の '(' にある可能性があります。

String sql = "INSERT INTO `tutors`.`appointments`"
    + "(`tutorID`, `tuteeName`, `tuteeEmail`, `time`, `date`)"
    + ("VALUES(?, ?, ?, ?, ?");

そのはず

String sql = "INSERT INTO `tutors`.`appointments`"
    + " (`tutorID`, `tuteeName`, `tuteeEmail`, `time`, `date`)"
    + " VALUES(?, ?, ?, ?, ?");

2 行目と 3 行目の先頭にもスペースを追加します。

于 2013-03-15T06:17:11.463 に答える