Out of range

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
Immortal
Üye
Mesajlar: 34
Kayıt: 18 Ağu 2003 01:03
Konum: istanbul
İletişim:

Out of range

Mesaj gönderen Immortal »

MSSQL server 2000 + WinXP (tr) +SP2 Delphi7+ SDAC(SQLserver connection components)
===============================

select *,
case

when (oddurumu = 'ÖDENDİ') then 'ÖDENDİ'
when ( ((oddurumu is NULL) or (oddurumu <> 'ÖDENDİ')) and (odtarih >= CONVERT(CHAR(13),GETDATE(),103) )) then 'ÖDENECEK'
when ( ((oddurumu is NULL) or (oddurumu <> 'ÖDENDİ')) and (odtarih < CONVERT(CHAR(13),GETDATE(),103) )) then 'ÖDENMEDİ'

end Odeme_Durumu

from odemeler

-------------------------------

CONVERT(CHAR(13),GETDATE(),103)


"The conversion of a char data type to a datatime data type resulted in an out-of-range datetime value"

diye bir hata dönüyor ...işin daha da garibi bu hatayı saat 17 de göstermezken saat 22 de ise bu hata ile karşılaşıyorum...

sitenizde bunu inceledim datetimeformat gibi fonk. larıda kullandım ama nafile !

CONVERT(CHAR(13),:prm,103) parametreli kullanmama rağmen yine sonuç aynı!

artı sadece :prm de kullandım oda nafile bu işin içinden çıkamadım...

(sayfanızı aradım taradım aynı hata ile karşılaşanlarıda buldum ama o da nafile çözümleriniz bana yine uymadı!) teşekkürler
csyasar
Üye
Mesajlar: 646
Kayıt: 25 Şub 2004 10:14
Konum: Tokat

Mesaj gönderen csyasar »

1-hocam char'ı date'e çevirirken hatalı yazıyorsun muhtemelen saat formatını.

2-bir de bu işlemi ne için kullanıyorsun. onu da yazarsan değişik fikirler çıkarmaya çalışalım. belki sorununun çözümünü farklı şekillerde de yapabiliriz...
Kullanıcı avatarı
Immortal
Üye
Mesajlar: 34
Kayıt: 18 Ağu 2003 01:03
Konum: istanbul
İletişim:

Mesaj gönderen Immortal »

merhaba ...,

" CONVERT(CHAR(13),:prm,103) " ifadesinde ki yanlışığın nerde olduğunu öğrenmek istiyorum ...ben bugün ki kayıtları mssql de delphi de görmek istiyorum bu mümkün değilmidir yani! mümkünse bu nasıl olmakta? olmaktaysa bunu ben neden yapamıyorum?ve bu alt tarafı bugün ki bir kayıtları listeleme işlemi değilmidir?
Daha önce bunu parametrelerle başarmıştım fakat işin garibi şimdi bunu parametrelerle dahi yapamamam çünkü aynı hata dönüyor!

sorguya gelince.... programda ödeme bölümü var ödendi ödenmedi gibilerinden bi kontrol yapıyor neye göre yapıyor? tarihe ve ödeme durumuna göre yapıyor!bu kadar

sonuç olarakta ÖDENDİ ÖDENMEDİ ÖDENECEK şeklinde değerler döndürüyor ..hepsi bu!

kişisel kaantime görede bu olayın sorgumla alakalı olduğunu ben kesinlikle düşünmüyorum çünkü aynı hatayı basit bir sorguda da veriyor!

Kod: Tümünü seç

select sum(odtutar) from odemeler where odtarih = CONVERT(CHAR(13),GETDATE(),103)
gibi...(yine delphi de)

NOT:Quyery analyzer da bu hata ile karşılaştım zamanlar oldu! 103 yerine 120 gibi değişiklikler yaptım zaman ...
Bu da işin diğer yüzü yani delphi bunu dışarıya 120 şekline benzer mi algılatıyo nedir anlamadım ama yaptığı hareket sonuç itibariyle böyle oluyor gibi...

teşekkürler ve iyi çalışmalar
Kullanıcı avatarı
Immortal
Üye
Mesajlar: 34
Kayıt: 18 Ağu 2003 01:03
Konum: istanbul
İletişim:

Mesaj gönderen Immortal »

bu arada saat formatı dediğiniz şey tüm winxp TR sp2 (region TR) olan heryerde aynı değilmidir hadi ben yanlış yaptım ve ya öyle uyguladım peki bu ssatin doğru olan formatı nedir ? teşekkürler ve iyi çalışmalar
Cevapla