0

このコードの実行中にエラーが発生しました。どうしてか分かりません。呼び出されたときに MySQL データベースにデータを保存するメソッドを作成したいだけです。コードは次のとおりです。

public Employee(String firstName, String lastName, 
                String userID, String userPassword, String role)
{
    try{
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/hotelmanagementsystem",                            "some_user","");

        PreparedStatement statement = con.prepareStatement("Insert into employee(Firstname, Lastname, UserID, UserPassword, Role)values(?, ?, ?, ?, ?");    
        statement.setString(1, firstName);
        statement.setString(2, lastName);
        statement.setString(3, userID);
        statement.setString(4, userPassword);
        statement.setString(5, role);
        statement.executeUpdate();

        con.close(); 
    }
    catch( Exception e ) {
        e.printStackTrace();        
        return;
    }
}

コンソール: 構文エラー

4

4 に答える 4

1
PreparedStatement statement = con.prepareStatement("Insert into employee(Firstname, Lastname, UserID, UserPassword, Role)values(?, ?, ?, ?, ?");    

する必要があります

PreparedStatement statement = con.prepareStatement("Insert into employee(Firstname, Lastname, UserID, UserPassword, Role)values(?, ?, ?, ?, ?)");

閉じ括弧がありませんでした。

于 2012-09-29T10:45:28.767 に答える
0

クエリに二重引用符を追加すると、問題ありません。

    PreparedStatement statement = con.prepareStatement("Insert into employee(Firstname, Lastname, UserID, UserPassword, Role)values(?, ?, ?, ?, ?)");    
于 2012-09-29T10:41:22.640 に答える