powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / При insert datetime(java) to DB(jdbc) через NetBeans не обновляет time
15 сообщений из 15, страница 1 из 1
При insert datetime(java) to DB(jdbc) через NetBeans не обновляет time
    #39718287
Newbiejava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NetBeans+Spring+java+mssql

Вставляем значения из формы, а так же дату и время текущее записываем в БД (jdbc)

Код: java
1.
2.
3.
java.util.Date Date = new java.util.Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date2 = sdf.format(Date);



Однако, время записывается фиксированное, т.е. например:

1. Собрали проект (NetBeans)
2. Заполнили данные формы и отправили эти значения в БД (время пишется автоматом актуальное, формат колонки datetime в БД) допустим в 14:54
3. Последующие заполнения формы с другими естественно значениями (с очисткой кэша,куки) записываются в БД с тем же временем (14:54)
4. Но стоит "очистить и собрать" проект или "выполнить" и начинать делать п.2. так время запишется в БД уже актуальное на момент записи после пере сборки проекта
Код: sql
1.
2.
3.
4.
5.
Сolum_db
2018-10-16 15:50:01.000
2018-10-16 14:54:02.000
2018-10-16 14:54:02.000
2018-10-16 14:54:02.000



Куда копать, подскажите пожалуйста!

p.s. Проект ( NetBeans) локальный, БД удаленная
...
Рейтинг: 0 / 0
При insert datetime(java) to DB(jdbc) через NetBeans не обновляет time
    #39718347
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewbiejavaКуда копать, подскажите пожалуйста!
- вряд ли NetBeans виноват, где Вы вызываете код вставки данных в базу, в каком то сервлете? покажите, а то непонятно
...
Рейтинг: 0 / 0
При insert datetime(java) to DB(jdbc) через NetBeans не обновляет time
    #39718535
Newbiejava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kachalov,

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
public class TestController extends HttpServlet {  

String spr1,spr2,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17;  
String query;  
Connection conn;  
Statement stmt;  
ResultSet res;  
TestControllerDB dbconn;  

//java.sql.Date sqlDate = new java.sql.Date(Date.getTime());
java.util.Date Date = new java.util.Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date2 = sdf.format(Date);

protected void processRequest(HttpServletRequest request, HttpServletResponse response)  
throws ServletException, IOException {  
response.setContentType("text/html;charset=UTF-8");  
PrintWriter out = response.getWriter();  
try {  

dbconn=new TestControllerDB();  

         a1 = request.getParameter("a1");
         a2 = request.getParameter("a2");
         a3 = request.getParameter("a3");
         a4 = request.getParameter("a4");
         a5 = request.getParameter("a5");
         a6 = request.getParameter("a6");
         a7 = request.getParameter("a7");
         a8 = request.getParameter("a8");
         a9 = request.getParameter("a9");
         a10 = request.getParameter("a10");
         a11 = request.getParameter("a11");
         a12 = request.getParameter("a12");
         a13 = request.getParameter("a13");
         a14 = request.getParameter("a14");
         a15 = request.getParameter("a15");
         a16 = request.getParameter("a16");
         a17 = request.getParameter("a17"); 
       
conn=dbconn.setConnection();

stmt=conn.createStatement();  
query= "insert into ipraForm(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,DInsrt) values('"+a1+"','"+a2+"','"+a3+"','"+a4+"','"+a5+"','"+a6+"','"+a7+"','"+a8+"','"+a9+"','"+a10+"','"+a11+"','"+a12+"','"+a13+"','"+a14+"','"+a15+"','"+a16+"','"+a17+"','"+date2+"')";
int i=stmt.executeUpdate(query);
    System.out.println("Данные записаны в БД");
} catch(Exception e){  
    System.out.println("Ошибка записи данных в БД");  
e.printStackTrace();
}finally {  
out.close();
    try { stmt.close(); System.out.println("stmt закрылся успешно");
    } catch (Exception e) { System.out.println("Ошибка закрытия stmt"); e.printStackTrace(); }
    try { conn.close(); System.out.println("conn закрылся успешно");
    } catch (Exception e) { System.out.println("Ошибка закрытия conn"); e.printStackTrace(); }
}  
}  

@Override  
protected void doGet(HttpServletRequest request, HttpServletResponse response)  
throws ServletException, IOException {  
processRequest(request, response);  
}  

@Override  
protected void doPost(HttpServletRequest request, HttpServletResponse response)  
throws ServletException, IOException {  
processRequest(request, response);  
}  

@Override  
public String getServletInfo() {  
return "Short description";  
}  
   
} 
...
Рейтинг: 0 / 0
При insert datetime(java) to DB(jdbc) через NetBeans не обновляет time
    #39718559
Newbiejava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kachalov,

попробовал еще вот так, но результат тот же

вместо

Код: java
1.
2.
3.
java.util.Date Date = new java.util.Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date2 = sdf.format(Date);



вставил это

Код: java
1.
2.
3.
4.
long time = System.currentTimeMillis();
java.sql.Timestamp timestamp = new java.sql.Timestamp(time);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date2 = sdf.format(time);
...
Рейтинг: 0 / 0
При insert datetime(java) to DB(jdbc) через NetBeans не обновляет time
    #39718588
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
серьезно?

вы инициализировали дату в момент создания сервлета и теперь удивляетесь, почему она не меняется?
экземпляр сервлета будет единственным, на каждый запрос пересоздаваться не будет
...
Рейтинг: 0 / 0
При insert datetime(java) to DB(jdbc) через NetBeans не обновляет time
    #39718590
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просто перенесите
Код: sql
1.
2.
3.
java.util.Date Date = new java.util.Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date2 = sdf.format(Date);



внутрь processRequest
...
Рейтинг: 0 / 0
При insert datetime(java) to DB(jdbc) через NetBeans не обновляет time
    #39718607
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Penkov Vladimirпросто перенесите
внутрь processRequest
- согласен и совет почитать про жизненный цикл сервлета
...
Рейтинг: 0 / 0
При insert datetime(java) to DB(jdbc) через NetBeans не обновляет time
    #39718619
Newbiejava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Penkov Vladimir,
Все получилось!

Низкий поклон, относительно недавно в этой среде...учусь))

Kachalov,

Спасибо за статейку
...
Рейтинг: 0 / 0
При insert datetime(java) to DB(jdbc) через NetBeans не обновляет time
    #39719088
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Newbiejava,
конечно не по теме но все же...
а почему не воспользоваться со встроенными функциями самого БД?
...
Рейтинг: 0 / 0
При insert datetime(java) to DB(jdbc) через NetBeans не обновляет time
    #39719165
Newbiejava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Музаффар,

тоже думал поставить триггер в бд на insert в эту таблицу, но "нужно" было реализовать именно на стороне клиента
...
Рейтинг: 0 / 0
При insert datetime(java) to DB(jdbc) через NetBeans не обновляет time
    #39719271
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сходите теперь про sql-injection почитайте
...
Рейтинг: 0 / 0
При insert datetime(java) to DB(jdbc) через NetBeans не обновляет time
    #39719387
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Penkov Vladimirсерьезно?

вы инициализировали дату в момент создания сервлета и теперь удивляетесь, почему она не меняется?

+1
...
Рейтинг: 0 / 0
При insert datetime(java) to DB(jdbc) через NetBeans не обновляет time
    #39719388
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewbiejavaМузаффар,

тоже думал поставить триггер в бд на insert в эту таблицу, но "нужно" было реализовать именно на стороне клиента
Зачем триггер??? есть такой тип TimeStamp
...
Рейтинг: 0 / 0
При insert datetime(java) to DB(jdbc) через NetBeans не обновляет time
    #39719518
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Newbiejava,

зачем триггер? скорее там тоже есть функции или что то подобное
и что то не понял как понять в стороне клиента ?
...
Рейтинг: 0 / 0
При insert datetime(java) to DB(jdbc) через NetBeans не обновляет time
    #39719819
AndronovMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сам периодически публикую вопросы, но тут вынужден с умничать.

Писать полностью SQL-выражение вместе с конкатинированными значениями не есть правильно. А что если надо будет зафигачить BLOB?

Код: java
1.
2.
3.
4.
5.
6.
PreparedStatement stmt = conn.prepareStatement(sql);
            int i=1;
            for(Object p : params) {                
                    stmt.setObject(i+1, Converter.toSqlType(p, conn));
            }
            
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / При insert datetime(java) to DB(jdbc) через NetBeans не обновляет time
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]