sql de where date time

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
kiriko
Üye
Mesajlar: 11
Kayıt: 06 Tem 2007 02:27

sql de where date time

Mesaj gönderen kiriko »

bir sorguda sadece bu tarihte olan kayıtların sayısını dondurmek ıstıyorum
iLK DENEMEM sql excec adlı fonksiyona yollayarak denenen.
Q:=SqlExec(Format('select count(*) from GRUPMASTER where TARIH = "%s";', [sontar]));

data type mismatch alıyorum
sontar string turune donusturulmus durumda zaten

ikinci denemem
sql cumlecigimi oldugu gibi yazdım delhide Datevalue seklinde bir fonksiyon varmı . tesekkurler.
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,
Bu gibi durumlar en iyi çözüm Parametre kullanmak,
örneğin,

Kod: Tümünü seç

with Q do
 begin
   close;
sql.clear;
sql.add('select count(*) from GRUPMASTER where TARIH =:tarih');
parambyname('tarih').asDate:=sontar;
active:=True;
end;
Volkan KAMADAN
www.polisoft.com.tr
kiriko
Üye
Mesajlar: 11
Kayıt: 06 Tem 2007 02:27

parametresiz yapmak mumkun değilmi

Mesaj gönderen kiriko »

volkan bey ornek için tesekkur ederim ama zaten ben bunu yazdıgım sekılde yapamazmıyım merak ettıgım bu . cunku o foksiyonumla fis no buna benzer sorguları alıp dongumde kullanıyorum . amacım tarihlede yapabilmek saygılarımla
kiriko
Üye
Mesajlar: 11
Kayıt: 06 Tem 2007 02:27

sqlexec fonksiyonu

Mesaj gönderen kiriko »

birde sizin dediğiniz şekilde yaparsam fonksiyonuma parametreleride yollamak zorunda kalıcam . oysa format foksiyonu sayesinde parametrelerimde gidiyor .
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Bu SqlExec fonksiyonu nerden geldi, biraz detay verirmisiniz, kullandığınız Vt, erişim bileşenleri gibi.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
hbahadir
Kıdemli Üye
Mesajlar: 544
Kayıt: 06 Ara 2004 05:03
Konum: BURSA idi artık İST.
İletişim:

Mesaj gönderen hbahadir »

kullandığınız veri tabanının desteklediği formatta göndermelisiniz tarih değişkenini. dd/mm/yyyy yada nasılsa öyle.
kiriko
Üye
Mesajlar: 11
Kayıt: 06 Tem 2007 02:27

SqlExec fonksiyonu

Mesaj gönderen kiriko »

sql exec foksiyonum

function TForm5.SqlExec(const Sql: string): TDataSet;
var
A: TADOQuery;
begin
A:=TADOQuery.Create(nil);
A.Connection:=Form4.ADOConnection1;
A.SQL.Text:=Sql;
A.Open;
Result:=A;
end;

acces mdb kullanıyorum

tarihi string olarak aldım yani dd.mm.yyyy short date formatta

erişim içinde ado kullanıyorum

Kullandığım foksiyonun çalışan basit örneği
Q:=SqlExec(Format('select count(*) from GRUPMASTER where AYKOD=%d and OGRETMENKOD = "%s"', [AyKodu2, Kod2.Kod]));
Cevapla