Я пытаюсь обновить значения таблицы SQL, ошибка в Java - PullRequest
0 голосов
/ 25 апреля 2020

Я пытаюсь обновить значения таблицы, но выдает ошибку, которую я не смог определить. Если вы визуализируете это, это поможет мне, вот что он выдает консолью:

com. mysql .jdb c .exceptions.jdbc4.MySQLSyntaxErrorException: у вас есть ошибка в вашем синтаксисе SQL ; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с именем 'name =' Proyecto '= 0 language =' PHP 'duration = 16 Advance = 16 Effec = 0,0 где' в строке 1

public int actualizar(Proyecto p, int pos) {
        String sql = "UPDATE proyecto SET code=? name=? status=? language=? duration=? advance=? effec=? where code='"+ pos +"' " ;
        try {
            con = conectar.getConexionSQL();
            ps=con.prepareStatement(sql);
            ps.setInt(1, p.getCod());
            ps.setString(2, p.getNombre());
            ps.setInt(3, p.getStatus());
            ps.setString(4, "PHP");
            ps.setInt(5, p.getDuracion());
            ps.setInt(6, p.getAvance());
            ps.setDouble(7, 0.0);
            ps.executeUpdate();

            return 1;   
        } catch(Exception e){
            e.printStackTrace();
        }
        return 1;
    }

1 Ответ

2 голосов
/ 25 апреля 2020

Назначения в SET должны быть разделены запятыми:

UPDATE proyecto 
SET code = ?, name = ?, status = ?, language = ?, duration = ?, advance = ?, effec=?
WHERE code = ?

Возможно, не связано примечание: вы действительно хотите обновить столбец code, который вы используете, чтобы определить, какие записи должно быть обновлено? Хотя это действительно SQL, с функциональной точки зрения это может не иметь смысла.

...