1

完全には理解できないエラーが発生しますが、なぜ表示されるのですか?
関連するJTextBoxに詳細を入力するフォームがあり、それらのテキストボックスのデータをローカルに設定したデータベースに送信する必要があります。

完全なエラーメッセージ

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException. You have an error in your 
SQL syntax; check the manual that corresponds to your MySQL server version for the 
right   syntax to use near ')VALUES'asd','asd',",",",",",",'Home','Female','White  
British' at line 1

コード

conn = (Connection) SQLConnect.ConnectDb();
    //inserting all values to database
    String sql = "INSERT INTO w1283057.criminalrecords "
            + "(FName, MName, Sname, DOB, Address, HPhone, BPhone, MPhone "
            + "ResidentStatus, Sex, Race, IncidentLocation, Zone, PremiseType "
            + "DateRecorded, TimeRecorded, Weapons, CrimeOffences) "
            + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
    try{
        //Declaring all variable that wiil be collected from JTextField
        pst = conn.prepareStatement(sql);
        //coverting JText to String
        String fname = FName.getText();
        String mname = MName.getText();
        String surname = Surname.getText();
        String dob = DOB.getText();
        String fullAddress = FullAddress.getText();
        String hPhone = HPhone.getText();
        String bPhone = BPhone.getText();
        String mPhone = MPhone.getText();
        String incidentLocation = IncidentLocation.getText();
        String incidentZone = IncidentZone.getText();
        String incidentPrType = IncidentPrType.getText();
        String incidentDate = IncidentDate.getText();
        String incidentTime = IncidentTime.getText();
        String incidentWeapons = IncidentWeapons.getText();
        String crimeOffences = CrimeOffences.getText();
        String radioText = "";

        //collecting input data and assign them to variables            
            pst.setString(1, fname);
            pst.setString(2, mname);
            pst.setString(3, surname);
            pst.setString(4, dob);
            pst.setString(5, fullAddress);
            pst.setString(6, hPhone);
            pst.setString(7, bPhone);
            pst.setString(8, mPhone);
            //radio buttons Resident Status
            if(RHome.isSelected())
            {
                radioText = RHome.getText();
                pst.setString(9, radioText);
            }
            else if(RForeign.isSelected())
            {
                radioText = RForeign.getText();
                pst.setString(9, radioText);
            }
            //radio buttons Sex
            if(Male.isSelected())
            {
                radioText = Male.getText();
                pst.setString(10, radioText);

            }
            else if(Female.isSelected())
            {
                radioText = Female.getText();
                pst.setString(10, radioText);
            }
            //radio button Race
            if(WhiteBritish.isSelected())
            {
                radioText = WhiteBritish.getText();
                pst.setString(11, radioText);

            }
            else if(WhiteOther.isSelected())
            {
                radioText = WhiteOther.getText();
                pst.setString(11, radioText);
            }
            else if(Black.isSelected())
            {
                radioText = Black.getText();
                pst.setString(11, radioText);
            }
            else if(Asian.isSelected())
            {
                radioText = Asian.getText();
                pst.setString(11, radioText);
            }
            else if(Indian.isSelected())
            {
                radioText = Indian.getText();
                pst.setString(11, radioText);
            }
            /////////////////////////////////////
            pst.setString(12, incidentLocation);
            pst.setString(13, incidentZone);
            pst.setString(14, incidentPrType);
            pst.setString(15, incidentDate);
            pst.setString(16, incidentTime);
            pst.setString(17, incidentWeapons);
            pst.setString(18, crimeOffences);
            pst.executeUpdate();
            System.out.println("records added sucessfully");

    }
    catch (SQLException a)
        {
            JOptionPane.showMessageDialog(null, a);
        }

ここに画像の説明を入力してください

4

2 に答える 2

5

値リストの最後にコンマがあるか、それを取り除くか、適切な値を入力します。

+ "DateRecorded, TimeRecorded, Weapons, CrimeOffences,) " <---
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,)"; <----
于 2013-01-09T20:27:22.323 に答える
4

あなたのコード

 String sql = "INSERT INTO w1283057.criminalrecords "
        + "(FName, MName, Sname, DOB, Address, HPhone, BPhone, MPhone "
        + "ResidentStatus, Sex, Race, IncidentLocation, Zone, PremiseType "
        + "DateRecorded, TimeRecorded, Weapons, CrimeOffences) "
        + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";

これを試してください...フィールド(MPhone、PremiseType)の後にコンマがありません

 String sql = "INSERT INTO w1283057.criminalrecords "
        + "(FName, MName, Sname, DOB, Address, HPhone, BPhone, MPhone, "
        + "ResidentStatus, Sex, Race, IncidentLocation, Zone, PremiseType, "
        + "DateRecorded, TimeRecorded, Weapons, CrimeOffences) "
        + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";

ご挨拶。

于 2013-01-09T20:54:53.093 に答える