java中的PreparedStatement值错误
休闲代码给出了“关键字'VALUES'附近的语法不正确”。我找不到SQL语句的问题 /* *SQL Server中HistoryData表的表结构 *1)城市标识-内部 *2)城市名称-nvarchar(50) *3)时间-日期时间 *4)接收时间-日期时间 *5)湿度-浮子 *6)雨水信息-浮子 *7)雪地信息-浮动 *8)温度-浮子 *9)最低温度-浮子 *10)最高温度-浮子 *11)说明-nvarchar(50) */java中的PreparedStatement值错误,java,sql,prepared-statement,mssql-jdbc,Java,Sql,Prepared Statement,Mssql Jdbc,休闲代码给出了“关键字'VALUES'附近的语法不正确”。我找不到SQL语句的问题 /* *SQL Server中HistoryData表的表结构 *1)城市标识-内部 *2)城市名称-nvarchar(50) *3)时间-日期时间 *4)接收时间-日期时间 *5)湿度-浮子 *6)雨水信息-浮子 *7)雪地信息-浮动 *8)温度-浮子 *9)最低温度-浮子 *10)最高温度-浮子 *11)说明-nvarchar(50) */ try {
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();
在描述之后,你有一个额外的“,”
只需删除逗号并添加“)”和空格。在
值之前逗号太多了。
。。。。缺少一个括号。考虑在专用SQL编辑器中编写SQL查询。用Java代码进行调试是乏味的。