"select * from tablo_adı where month(tarih_tutan_alan_adı) = 8 and year(tarih_tutan_alan_adı)=2008"
Bende bunun gibi bir sorgu yaptım localde sorunsuz çok iyi çalışıyor ama server da çalışmıyor. Asp.net & mssql 2005 kullanıyorum serverda da aynısı var(sql 2005) acaba neden olabilir ki _? (bu arada tarih datetime tipinde)
Sorguda bir hata yok. Ama sebebini bulmak için verdiği hatayı da yazsan iyi olurdu. Bu şekilde neden hata verdiğini çözmek zor.
sql = "SELECT [id], [baslik], [aciklama], [resim] FROM [TBL_HABER] WHERE day(tarih) = " + ddl_gun.SelectedValue + " AND month(tarih) = " + ddl_ay.SelectedValue + " AND year(tarih) = " + ddl_yil.SelectedValue + " ORDER BY [id] DESC"; sorgum bu localde ilgili tarihe ait sonuçları sorunsuz gösteriyor fakat server da çalışmıyor mesele server da çalışmaması
"SELECT TOP 10 [id], [baslik] FROM [TBL_HABER] WHERE dateAdd(day,1,tarih)> getDate() ORDER BY [hit] DESC" yine bu kod son bir günün verilerini çekmek için kullandığım bir kod, yine localde sorunsuz çalışırken server da "SELECT TOP 10 [id], [baslik] FROM [TBL_HABER] ORDER BY [hit] DESC" kod buymuş gibi çalışıyor yani dateAdd(day,1,tarih)> getDate() bu kodu görmezden geliyor neden olabilir acaba_?
İlk sorgunda bir hata yok gibi. Ama neden çalışmaz onu bilmiyorum. Eğer bağlanabilirsen Sql Management ile server'a bağlanıp, buna benzer çeşitli sorgulamaları yapmanı ve sonucu görmeni tavsiye ederim. Sorunu bulmada yardımcı olur. İkinci sorunda ise dateAdd fonksiyonundan kaynaklanıyor olabilir. Ayrıca sorgu içinde tüm sutun adlarını tek tipte yazarsan daha iyi olur. Hepsini [] arasında ve ya bunlar olmadan yazarsan daha iyi olur.
öncelikle yardımın için teşekkür ederim sorunu çözdüm belki başkasının da başına gelebilir diye yazmank istedim ben veritabanına veriyi kaydederken Datetime.Now ile kaydediyordum o da veritabanına 1.6.2010(mdy) şeklinde kayıt yapıyordu benim bilgisayardaki tarih formatına göre kod düzgün çalışıyordu ama server in tarih formatı farklıymış yani veriyi kaydettirirken 6.1.2010(dmy) şeklinde kaydettim oldu yani eskisinin çalışmaması ocak 6 yerine haziran 1 zannediyormuş
bunu önüne geçmek için kullandığım kod
string sql = "SET DATEFORMAT DMY; INSERT INTO ....."
Umarım bu sorunu yaşayanlara yardımcı olur. Ben projelerde genel bir format belirlediğim için daha önce bu sorunla hiç karşılaşmamıştım.
Buradan bu yazıya ait yorumları RSS olarak takip edebilirsiniz.
Bu servis ile yazılara eklenen yorumları RSS ile takip ederek konu ile ilgili başkaları tarafından yapılan yorumları veya konuyla ilgili sorduğunuz sorulara verilen cevapları görebilirsiniz.