Я хочу собрать некоторые данные и сохранить их в базе данных (в Java, используя MySQL). Одной из данных является дата (когда эта запись была создана/вставлена).Не найдено подходящего метода для getDate (Дата)
Я уже пробовал
private java.util.Date dateUtil = new java.util.Date();
private java.sql.Date dateSQL= new java.sql.Date(dateUtil.getTime());
преобразовать дату к SQL-формату, но я все еще получаю ошибку
нет подходящего метода нашел для GetDate (Дата)
метод ResultSet.getDate (int) не применимо
(несоответствие аргумента, дата не может быть преобразована в int)
метод ResultSet.getDate (строка) не применяется
(аргумент несоответствия; Дата не может быть преобразован в строку)
Ошибка возникает в строке
System.out.println("(" + resSet.getInt(1) + ")"
...
+ resultSet.getDate(dateSQL)
...
);
Когда я пытаюсь использовать
resultSet.getDate(java.sql.Date(dateSQL.getTime())
или
resultSet.getDate(java.sql.Date(dateUtil.getTime())
я получаю ошибку, слишком :
не может найти символ
символической архитектуры монументальной библиотеку: класс SQL
местоположения: пакет Java
И да, я импортировал java.sql.Date но Netbeans говорит мне, что этот импорт не используется ...
Я действительно нахожусь в своем умом ... У кого-нибудь есть идея, что еще делать?
PS: У меня такая же проблема с поплавком:
+ resultSet.getFloat(somefloat)
Сообщение об ошибке: не
не подходящий метод нашел для GetFloat (флоат)
метод ResultSet.getFloat (float) не применимо
(аргумент несоответствие; возможный потерю конверсии из float int)
способ ResultSet.GetFloat (String) не применяется
(несоответствие аргумент, поплавок не может быть преобразован в строку)
EDIT: минималистский фрагмент кода:
public class sqlTest
{
public static DBConnection connection = new DBConnection();
private static PreparedStatement prepStatement;
private static ResultSet resSet;
private Date date;
private float someFloat;
public static void insertExample(Date date, float someFloat)
{
connection = (DBConnection) connection.getInstance();
if(connection == null)
{
try
{
String sql = "INSERT INTO sample(date, someFloat) VALUES(?, ?)";
prepStatement = connection.prepareStatement(sql);
prepStatement.setDate(1, date);
prepStatement.setFloat(2, someFloat);
prepStatement.executeUpdate();
String lastSample = "SELECT date, someFloat FROM SAMPLE";
if(resSet.next())
{
System.out.println("(" + resSet.getInt(1) + ")" + resSet.getDate(java.sql.Date(date.getTime())) + " " + resSet.getFloat(someFloat)); //here the error(s) occur
}
}
catch(SQLException sqle)
{
logger.log(Level.SEVERE, "SQLException was thrown while inserting sample: ", sqle.getMessage());
}
}
}
}
Что бы вы ожидали 'getDate (Date)' делать? Метод 'getDate' предназначен для получения определенной записи в результирующем наборе * как * дата ... –
Посмотрите документы API для ResultSet: http://docs.oracle.com/javase/7/docs /api/java/sql/ResultSet.html. Вы не найдете метода с сигнатурой getDate (java.sql.Date). – JamesB
Я совершенно новый для SQL. Я ожидал getDate(), чтобы получить фактическую дату и вставить ее в базу данных ... Но похоже, что я ошибаюсь ... – Hisushi