Почему я не могу вставить в sql из Java [закрыто]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Почему я не могу вставить в sql из Java [закрыто]

Сообщение Anonymous »

Я пытаюсь вставить в базу данных sql в Java код ниже, но он не работает

Код: Выделить всё

public void addToMealPlan(HashMap mealMap, int AID) {
Connection cn = null;
PreparedStatement pst = null;
ResultSet rs = null;
try {
cn = myLib.makeConnection();
if (cn != null) {

for (String DATE : mealMap.keySet()) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date = (Date) df.parse(DATE);
for (Food f : mealMap.get(DATE)) {
String sql = "insert into [dbo].[MealPlan] ([AccId], [FoodId], [Date])\n"
+ "values(?,?,?)";
pst = cn.prepareStatement(sql);
pst.setInt(1, AID);
pst.setInt(2, f.getFoodId());
pst.setDate(3, date);
pst.executeUpdate();
}

}

}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
if (pst != null) {
pst.close();
}
if (cn != null) {
cn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
return;
}
Меня больше всего беспокоит дата в pst.setDate(3, date), так как я не уверен, следует ли мне вставлять строку или ДАТУ (столбец Дата в sql имеет тип данных DATE), и если дата правильно проанализирована или нет, я также пытался использовать pst.setString(3, DATE), но это тоже не работает, может кто-нибудь указать, что не так
ОБНОВЛЕНИЕ: я попытался запустить этот код с помощью main, и это произошло:
java.util.Date невозможно привести к java.sql.Date
Я не уверен, что это единственная проблема, но как я могу решить эту задачу здесь

Подробнее здесь: https://stackoverflow.com/questions/787 ... -from-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»