Ошибка значения PreparedStatement в Java

Следующий код дает "Неверный синтаксис рядом с ключевым словом" VALUES ". Я не могу найти проблему с моим оператором SQL.

/ * * Структура таблицы для таблицы HistoryData в SQL Server * 1) City_ID - int * 2)City_Name - nvarchar(50) * 3) Время - дата-время * 4)Received_Time - datetime * 5) Влажность - float * 6)Rain_info - float * 7)Snow_info - плавание * 8) температура - плавание * 9) минимальная температура - плавание * 10) максимальная температура - плавание * 11) описание - nvarchar(50) */

            try 
            {
                String statementString = "INSERT INTO WeatherHistoryX("
                     +"City_ID,"
                     +"City_Name,"
                     +"Time,"
                     +"Received_Time,"
                     +"Humdity,"
                     +"Rain_Info,"
                     +"Snow_Info,"
                     +"Temperature,"
                     +"Min_Temperature,"
                     +"Max_Temperature,"
                     +"Description,"
                     +"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";

                pStatement = connection.prepareStatement(statementString);

                //statement = null;
                //statement = connection.createStatement();

                java.sql.Date sqlDate = new java.sql.Date(weather.getDate());
                java.sql.Date currentSqlDate = new java.sql.Date(currentTimestamp.getTime());                   

                pStatement.setInt(1, weather.getCityCode());
                pStatement.setString(2, weather.getCity());
                pStatement.setDate(3, sqlDate);
                pStatement.setDate(4, currentSqlDate);
                pStatement.setFloat(5, weather.getHumidity());
                pStatement.setFloat(6, weather.getRainInfo());
                pStatement.setFloat(7, weather.getSnowInfo());
                pStatement.setFloat(8, weather.getTemperature());
                pStatement.setFloat(9, weather.getMinTemperature());
                pStatement.setFloat(10, weather.getMaxTemperature());
                pStatement.setString(11, weather.getDescription());

                pStatement.execute();

1 ответ

Решение

У вас есть дополнительные "," после описания.

Просто удалите эту запятую и добавьте ")" и пробел.

Другие вопросы по тегам