sql icin Adoquery ile tarih formatı hk.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
metemete
Üye
Mesajlar: 422
Kayıt: 21 Mar 2004 12:30
Konum: samsun
İletişim:

sql icin Adoquery ile tarih formatı hk.

Mesaj gönderen metemete »

(date2 ve now2 ) ilgili alanlar sql2005 de tarih bicimi gün.ay.yil saat olarak tanımlı
now2 ile sqlserverin tarih bilgisini alıyorum.now2 yi de manuel yaptım.
sql insert yaptığımda aşağıdakı kodlara göre su hayatı almaktayım

Hata:
The conversion of a char data type to a datetime data type resulted in an out-of range datetime value.

Kod: Tümünü seç

with Form1.AdoQuery1 do
  begin
  Close;
  SQL.Clear;
  Sql.Add('select getdate()');
  Open;   now2:=Fields[0].AsString;
  Close; showmessage('getdate:'+now2);
   SQL.Clear;date2:='03.15.2008 18:00:00';
   card_no:=form1.kartno.Text;

 showmessage('Kayıta başlanıyor');

SQL.Add('INSERT INTO CARI_HESAP_HAREKETLERI ('+
'cha_RECid_DBCno,cha_RECid_RECno,cha_SpecRecNo,cha_iptal,cha_fileid,cha_hidden,cha_kilitli,'+
'cha_degisti,cha_CheckSum,cha_create_user,cha_create_date,cha_lastup_user,cha_lastup_date,'+  //13
'cha_special1,cha_special2,cha_special3,cha_firmano,cha_subeno,cha_tarihi,cha_tip,cha_cinsi,'+
'cha_normal_Iade,cha_evrak_tip,cha_satir_no,cha_evrakno_seri,cha_evrakno_sira,cha_belge_no,'+
'cha_belge_tarih,cha_cari_cins,cha_kod,cha_kasa_hizmet,cha_kasa_hizkod,cha_d_kurtar,cha_d_cins,'+
'cha_d_kur,cha_altd_kur,cha_grupno,cha_meblag,cha_vade,cha_fis_tarih,cha_fis_sirano,cha_ft_iskonto1,'+
'cha_ft_iskonto2,cha_ft_iskonto3,cha_ft_iskonto4,cha_ft_iskonto5,cha_ft_iskonto6,cha_ft_masraf1,'+
'cha_ft_masraf2,cha_ft_masraf3,cha_ft_masraf4,cha_vergi1,cha_vergi2,cha_vergi3,cha_vergi4,cha_vergi5,'+
'cha_vergi6,cha_vergi7,cha_vergi8,cha_vergi9,cha_vergi10,cha_yuvarlama,cha_tpoz,cha_aciklama,'+
'cha_trefno,cha_sntck_poz,cha_karsidcinsi,cha_karsid_kur,cha_karsidgrupno,cha_srmrkkodu,cha_reftarihi,'+
'cha_odeme_arr1,cha_odeme_arr2,cha_odeme_arr3,cha_odeme_arr4,cha_odeme_arr5,cha_odeme_arr6,cha_odeme_arr7,'+
'cha_odeme_arr8,cha_miktari,cha_aratoplam,cha_vergipntr,cha_istisnakodu,cha_ver_tev_carpani,cha_stopaj,'+
'cha_savsandesfonu,cha_vergisiz_fl,cha_satici_kodu,cha_mustahsil_borsa,cha_mustahsil_bagkur,cha_mustahsil_diger,'+
'cha_HalMSDF,cha_HalHamaliye,cha_HalStopaj,cha_HalKomisyonu,cha_StFonPntr,cha_pos_hareketi,cha_vardiya_tarihi,'+
'cha_vardiya_no,cha_vardiya_evrak_ti,cha_HalRusum,cha_HalNavlunTut,cha_HalRehinFuture,cha_HalKomisyon,'+
'cha_Vade_Farki_Yuz,cha_karsisrmrkkodu,cha_EXIMkodu,cha_HalRehinSandikmiktari,cha_HalSandikVrMiktar,'+
'cha_HalSandikTutari,cha_HalSandikKDVTutari,cha_HalrehinSandikTutari,cha_Tevkifat_turu,cha_ticaret_turu,'+
'cha_otvtutari,cha_otvvergisiz_fl,cha_projekodu,cha_sozlesme_DBCno,cha_sozlesme_RECno,cha_yat_tes_kodu,'+
'cha_ciro_cari_kodu,cha_oivergisiz_fl,cha_meblag_ana_doviz_icin_gecersiz_fl,cha_meblag_alt_doviz_icin_gecersiz_fl,'+
'cha_meblag_orj_doviz_icin_gecersiz_fl,cha_ciroprim_DBCno,cha_ciroprim_RECno,cha_HalHamaliyeKdv,'+
'cha_HalHamaliyeVergisiz_fl) '+                                                        

'VALUES(0,'+nextidst+',0,0,51,0,0,0,0,2,'+QuotedStr(now2)+',2,'+QuotedStr(now2)+
','+QuotedStr('')+','+QuotedStr('')+','+QuotedStr('')+',0,0,'
+QuotedStr(Date2)+',0,6,0,63,0,'+evrakserist+','+nextnosirast+','+QuotedStr('')+
','+QuotedStr(Date2)+',0,'+QuotedStr(card_no)+',0,'+QuotedStr('')+',18991230,0,1,1,0,'+
NetToplamSt+',0,18991230,0,'+inttostr(iskonto2)+',0,0,0,0,0,0,0,0,0,0,0,0,0,0,'+
'0,0,0,0,0,0,0,'+QuotedStr('')+','+QuotedStr('')+',0,0,0,0,'+QuotedStr('')+','+'18991230'+',0,0,0,0,0,0,0,0,0,'+
inttostr(Toplam)+',0,0,0,0,0,0,'+QuotedStr('')+',0,0,0,0,0,0,0,0,0,418991230'+
',0,0,0,0,0,0,0,'+QuotedStr('')+','+QuotedStr('')+',0,0,0,0,0,0,0,0,0,'+evrakserist+',0,0,'+QuotedStr('')+','
+QuotedStr(card_no)+',0,0,0,0,0,0,0,0)');
Open;
end;
Bu konuda yardımcı olurmusunuz
Kullanıcı avatarı
modigant
Üye
Mesajlar: 40
Kayıt: 08 Mar 2008 01:35

Re: sql icin Adoquery ile tarih formatı hk.

Mesaj gönderen modigant »

Kayıt esnasında büyük bir ihtimalle tarih bilgisi dd.mm.yyyy ss.dd diye kaydediliyor. Onunla ilgili bir hatan olabilir. Taşma hatası veriyor çünkü .
Sular yükselince, balıklar karıncaları yer...Sular çekilince de karıncalar balıkları...Kimse bugünkü üstünlüğüne ve gücüne güvenmemelidir....
Çünkü kimin kimi yiyeceğine.. "Suyun Akışı Karar Verir..."
Kullanıcı avatarı
metemete
Üye
Mesajlar: 422
Kayıt: 21 Mar 2004 12:30
Konum: samsun
İletişim:

Re: sql icin Adoquery ile tarih formatı hk.

Mesaj gönderen metemete »

aynı sekılde asp de bu şekilde calıstırılmış.

Kod: Tümünü seç

Function now2()
			now2 = year(date)&Ay&Gun&" "&time&".000" 
End Function

Function date2()
			date2 = year(date)&Ay&Gun
End Function
bende
date2:='03.15.2008'; yaptım yine aynı hatayı veriyor
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: sql icin Adoquery ile tarih formatı hk.

Mesaj gönderen aslangeri »

s.a.
tarih tipi için parametre kullanmanı tavsiye ederim.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: sql icin Adoquery ile tarih formatı hk.

Mesaj gönderen csunguray »

ISO formatına uygun yazın. Ben şimdiye kadar hiç bir DB sunucusunda hatayla karşıaşmadım. ISO formarı yyyy-mm-dd dir.

Örnek:

Kod: Tümünü seç

ADOQuery1.SQL.Text := 'select * from TABLE1 where TARIH=' + QuotedStr(FormatDateTime('yyyy-mm-dd', Tarih1));
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: sql icin Adoquery ile tarih formatı hk.

Mesaj gönderen sabanakman »

Benim uygulamam ise gerekli sorgunun başında set dateformat dmy biçimindedir. Mevcut format ne olursa olsun sorun çıkmaz.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
metemete
Üye
Mesajlar: 422
Kayıt: 21 Mar 2004 12:30
Konum: samsun
İletişim:

Re: sql icin Adoquery ile tarih formatı hk.

Mesaj gönderen metemete »

teşekkur ederim verdiğiniz bilgiler icin

Kod: Tümünü seç

ADOQuery1.SQL.Text := 'select * from TABLE1 where TARIH=' + QuotedStr('20080320')
böylede calısyormus
Cevapla