db deki iki tarih alanı için arasındaki farkın 15 i geçenler

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
AliErdem
Üye
Mesajlar: 157
Kayıt: 16 Nis 2006 02:57

db deki iki tarih alanı için arasındaki farkın 15 i geçenler

Mesaj gönderen AliErdem »

database de

ALD_TAR ile VER_TAR için

aralarındaki gün farkı 15 günü geçenleri listelemeyi beceremedim

sql le yapılıyomu?

düzelteyim sql le nasıl yapılır :) sql le yapılmayanmı var
Demitri

Mesaj gönderen Demitri »

delphide tatihi integer, gün ve hafta cinsinden ifade eden fonksiyonları kullanarak yapabilirsin.
ama şu an fonksiyonları hatırlamıyorum.
biris weeknumber gibi bişeydi ama...
sonra bu değerlerin farkını alarak gün sayısını bulabilirsin.
Kullanıcı avatarı
kara_kule06
Üye
Mesajlar: 150
Kayıt: 18 Nis 2006 02:15
Konum: ankara/polatlı
İletişim:

Mesaj gönderen kara_kule06 »

kardeş önce iki tarihide datetimepicker nesnesine at. daha sonra dtp(datetimepicker) nesnesinde bulunan değerleri(12.04.2006) ayrı ayrı integer değerlerine aktar. mesela 12 yi birine 04'ü birine aktar. aynı işlemi diğer dtp için yap ve değerlerin hesaplanmasından sonra sql koduyla sorgulama yap. kolay gelsin
İlim öğrenmek akıntıya karşı yüzmek gibidir. Ara verildiği zaman gerilenir...
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Merhaba,
kullandığınız DB yi yazmamışsınız ama ben MySQL de bahsettiğiniz olayı şu şekilde yapıyorum.

Kod: Tümünü seç

SELECT * FROM TABLO_ADI where (VER_TAR-ALD_TAR)>15
İyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
AliErdem
Üye
Mesajlar: 157
Kayıt: 16 Nis 2006 02:57

Mesaj gönderen AliErdem »

paradox kullanıyorum ama galiba ben yanlış yazdım anlatmak istediğimi ALD_TAR ile VER_TAR zaten otomatik olarak kaydediliyo db ye
ALD_TAR:=date (bugun)
VER_TAR:=ALD_TAR+15

ALD_TAR ile bugunun tarihi arasındaki gün farkının 15 den çok olma durumunu listeleyeceğim
('select * from hareket where('+strtodate(date)+'-ALD_TAR)>15');
diye denedim olmadı
Demitri

Mesaj gönderen Demitri »

AliErdem yazdı:paradox kullanıyorum ama galiba ben yanlış yazdım anlatmak istediğimi ALD_TAR ile VER_TAR zaten otomatik olarak kaydediliyo db ye
ALD_TAR:=date (bugun)
VER_TAR:=ALD_TAR+15

ALD_TAR ile bugunun tarihi arasındaki gün farkının 15 den çok olma durumunu listeleyeceğim
('select * from hareket where('+strtodate(date)+'-ALD_TAR)>15');
diye denedim olmadı
datetostr olması gerekmiyor mu
Kullanıcı avatarı
AliErdem
Üye
Mesajlar: 157
Kayıt: 16 Nis 2006 02:57

Mesaj gönderen AliErdem »

oylede yazdım olmadı
Kullanıcı avatarı
AliErdem
Üye
Mesajlar: 157
Kayıt: 16 Nis 2006 02:57

Mesaj gönderen AliErdem »

ben buişi nasıl yapcam hala bişiler bulamadım arkadaşlar

db paradox
ulu coder
Üye
Mesajlar: 838
Kayıt: 01 Nis 2006 06:46
Konum: Ankara

Mesaj gönderen ulu coder »

Tek SQL cümlesi ile yapmak zorunda değilseniz (yani bu bi ödev değilse), bir döngüyle yapabilirsiniz. Şöyle ki...

Kod: Tümünü seç

var
  satir:integer;
begin
  Query1.SQL.Clear;
  Query1.SQL.Add('Select * from hareket');
  Query1.Open;
  Query1.First;
  satir:=2;
  StringGrid1.RowCount:=satir;
  While Query1.EOF=False Do
  begin
    If DaysBetween(Query1ALD_TAR.AsDateTime,Date)>15 Then
    begin
      satir:=satir+1;
      StringGrid1.RowCount:=satir-1;
      StringGrid1.Cells[0,satir-1]:=DateToStr(Query1ALD_TAR.AsDateTime);
    end;
    Query1.Next;
  end;
end;
Satır'a ilk olarak 1 değerini vermedim, çünkü 1 değeri verince başlıklar beyaz oluyor.

Kolay gelsin...
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

Merhaba,

Kod: Tümünü seç

QUERY1.Close;
          QUERY1.SQL.Clear;
          QUERY1.SQL.Add('SELECT * FROM deneme ');
          QUERY1.SQL.Add('WHERE ALD_TAR<:IKINCI_TAR ');
          QUERY1.ParamByName('IKINCI_TAR').AsDate:=NOW-15;

          QUERY1.Open;

şeklinde kullanın.

Kolay gelsin.
http://www.aysbergbilgisayar.com
Logo Go özel eğitim, web tasarım, teknik servis
Kullanıcı avatarı
AliErdem
Üye
Mesajlar: 157
Kayıt: 16 Nis 2006 02:57

Mesaj gönderen AliErdem »

teşekkürler hepinize programa devam :))
Cevapla