Veritabanımdaki java'yı kullanarak bir zaman damgası oluşturmaya çalışıyorum, ancak benim masamda alabildiğim tüm tarih ve zaman yok (yani, "2010-09-09 00:00:00" gibi görünüyor).Sadece tarihi değil, java'yı kullanarak tam tarih ve saat sql nasıl ayarlayabilirim?
Mysql veritabanımda bir datetime alanı kullanıyorum (çünkü appears bu datetime is more common than timestamp). Tarihi ayarlamak için kodum şunun gibi görünüyor:
PreparedStatement ps = conn.prepareStatement("INSERT INTO mytable (datetime_field) VALUES (?)")
java.util.Date today = new java.util.Date();
java.sql.Date timestamp = new java.sql.Date(today.getTime());
ps.setDate(1, timestamp);
ps.executeUpdate();
Tarihi dahil etmek için tarihi nasıl ayarlayabilirim?
Düzenleme: Aşağıdaki şekilde kodu değiştirdim ve hem tarih hem de saati ayarlar.
PreparedStatement ps = conn.prepareStatement("INSERT INTO mytable (datetime_field) VALUES (?)")
java.util.Date today = new java.util.Date();
java.sql.Timestamp timestamp = new java.sql.Timestamp(today.getTime());
ps.setTimestamp(1, timestamp);
ps.executeUpdate();
Sen tarihleri / kere dize formatları ile uğraşmak olmamalıdır kaydettikten veya bir veritabanından onları okurken. JDBC'nin setTimestamp' ve 'getTimestamp' gibi soyutlamaları gereksiz yapmak için var. – ColinD
thx, Yanlış okumuş ve sql fark etmedim. Benim hatam – oyo