Ошибка значения 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 ответ
Решение
У вас есть дополнительные "," после описания.
Просто удалите эту запятую и добавьте ")" и пробел.