-1

これは私が得るエラーです:

「SQL構文にエラーがあります。MySQLサーバーのバージョンに対応するマニュアルで、'Name ='Sanchez'、Middle Name ='Stark'、First Name ='Ned'、Birthday=の近くで使用する正しい構文を確認してください。 1行目の「1993-11」

 private void UpdateButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                              
        // TODO add your handling code here:
      try {
        String WorkID = WorkIDField3A.getText();
        String LastName = LastNameField3.getText();
        String MiddleName = MidNameField3.getText();
        String FirstName = FirstNameField3.getText();
        String Birthday = BDayField3.getText();
        String Age = AgeField3.getText();
        String Gender = (String) GendCombo3.getSelectedItem();
        String CStatus = (String) CStatCombo3.getSelectedItem();
        String Dept = (String) DeptCombo3.getSelectedItem();
        String Pos = PosField3.getText();
        String WorkHrs3A = WorkHoursField3A.getText();
        String WorkHrs3B = WorkHoursField3B.getText();
        String WorkDaysFrom = (String) WorkDaysFromCombo.getSelectedItem();
        String WorkDaysTo = (String) WorkDaysToCombo.getSelectedItem();
        String HireDate = HireDateField3.getText();

        String SQL = "UPDATE employees SET Last Name =?, Middle Name =?, First Name =?, Birthday =?, Age=?, Gender =?, Civil Status =?, Department =?, Position =?, Work Hours From(AM) =?, Work Hours To(PM) =?, Work Days From =?, Work Days To =?, Hire Date =? WHERE WorkID=?";

        stmt = conn.prepareStatement(SQL);

        stmt.setString(1, LastName);
        stmt.setString(2, MiddleName);
        stmt.setString(3, FirstName);
        stmt.setString(4, Birthday);
        stmt.setString(5, Age);
        stmt.setString(6, Gender);
        stmt.setString(7, CStatus);
        stmt.setString(8, Dept);
        stmt.setString(9, Pos);
        stmt.setString(10, WorkHrs3A);
        stmt.setString(11, WorkHrs3B);
        stmt.setString(12, WorkDaysFrom);
        stmt.setString(13, WorkDaysTo);       
        stmt.setString(14, HireDate);
        stmt.setString(15, WorkID);
        //Execute the SQL statement and update the table
        stmt.executeUpdate();
        JOptionPaneUpdate.showMessageDialog(this, "Update Succesful!");
  }catch(Exception e)
  {
      JOptionPaneUpdateFail.showMessageDialog(this, e.getMessage());
  }
4

2 に答える 2

5

あなたの列は" LAST_NAME"または" Last Name"???

これはあなたのエラーです。列名にスペースを使用しないでください。

本当に必要な場合は、次を使用して列名をエスケープできます。'Last Name'

于 2013-03-07T12:55:02.873 に答える
3

スペースが含まれているこれらの名前をエスケープします。このような

UPDATE employees 
SET `Last Name` =?, 
    `Middle Name` =?,
    `First Name` =?, 
     Birthday =?, 
     Age=?, 
     Gender =?, 
     `Civil Status` =?, 
      ...
WHERE WorkID=?

そして、これらの名前は避けてください。

于 2013-03-07T12:55:59.887 に答える