Merhabalar, java-swing-jdbc projemde tarih formatında işlem yapmak istiyorum. Mysql veri kayıt etme ve kayıt okuma vb. işlemler.

Bu konuda biraz sıkıntılıyım.

java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd-MM-yyyy");
String tar = sdf.format(tarih); //tarih string olarak aldım.
java.util.Date myDate = new java.util.Date(tar);
java.sql.Date sqlDate = new java.sql.Date(myDate.getTime());

Şöyle bir şey kullanmak istedim, ancak biraz sıkıntılı sanırım. Yarımcı olur musunuz? Veriyi kayıt edemediğim için okuma üzerine kafa yoramadım. Kısaca o noktada bilgi verirseniz sevinirim. Teşekkürler.

Mysql ilgili sütün formatı DATE

soruldu: 26 Mar '13, 02:37

igundu91's gravatar image

igundu91
214242933
cevap kabul oranı: 20%

değiştirildi: 26 Mar '13, 02:38

Burada iki kütüphaneyi kullanman ambiguity yaratır. java tarafında genelde util.date kullanılır. Database'indeki date formatına bakıp, ona göre formatlayıp gönder problem olmaz. sql.Date objeni kaldırıp, öyle dene.

(26 Mar '13, 02:39) Turgay Can Turgay%20Can's gravatar image

Hocam, çıkardım sql.Date'i , mysqldeki formatım şöyle : DATE tarih stringi şöyle geliyor : 19/02/1991 sorgum ise şöyle : INSERT INTO Personel(TC, Ad, Soyad, DogumTarihi, Cinsiyet, Adres, Email, CepTel, EvTel) VALUES ('"+Long.parseLong(tc)+"', '"+ad+"', '"+soyad+"', '"+myDate.getTime()+"', '"+cinsiyet+"', '"+adres+"', '"+email+"', '"+cep+"', '"+ev+"') ve aldığım hata şöyle : Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Cannot format given Object as a Date

(26 Mar '13, 02:47) igundu91 igundu91's gravatar image

java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd/MM/yyyy");
String tar = sdf.format(tarih); //tarih string olarak aldım.

Bu şekilde formatla : 19/02/1991 bu format için.

Ek olarak tırnakla vs. uğraşmana gerek yok.

PreparedStatement nesnesini kullanıp, parametre olarak göndermen daha iyi olur. SQL Injection gibi tehditlerinde önüne geçmiş olursun.

Basit bir örnek, implementasyon açısından fikir edinmen için.

String query2 = "Insert into APP.MAILDIST (ID,Email,Domain) values(?,?,?)";
PreparedStatement pStmt2 = conn.prepareStatement(query2);
pStmt2.setString(1, UUID.randomUUID().toString());
pStmt2.setString(2, strLine);
pStmt2.setString(3, mailUzantisi.toLowerCase());
pStmt2.execute();
permanent link

cevaplandı: 26 Mar '13, 03:33

Turgay%20Can's gravatar image

Turgay Can
8.4k63799
cevap kabul oranı: 18%

değiştirildi: 26 Mar '13, 04:28

Teşekkür ederim hocam. PreparedStatement sınıfı da güzelmiş, onuda uygulayacağım. :)

(26 Mar '13, 10:14) igundu91 igundu91's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079

Soruldu: 26 Mar '13, 02:37

Görüntüleme: 754 kez

Son güncelleme: 26 Mar '13, 10:14

powered by BitNami OSQA