Sql içinde formatlama

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
sword
Üye
Mesajlar: 18
Kayıt: 31 Ara 2004 01:48

Sql içinde formatlama

Mesaj gönderen sword »

Kod: Tümünü seç

if Combobox2.TEXT='1.UCAYLIK' then
begin
form39.query1.sql.add('Select s1.sicil,s1.tik as OCAK,s2.tik as SUBAT,s3.tik as MART,');
form39.query1.sql.add('((s1.tik+s2.tik+s3.tik)/3) as ORT,stat,adres from kontur s1,astatik');
form39.query1.sql.add('INNER JOIN ucret s2 on(s1.sicil=s2.sicil)');
form39.query1.sql.add('INNER JOIN ucret s3 on(s1.sicil=s3.sicil)');
form39.query1.sql.add('where s1.ay=:ay1 and s2.ay=:ay2 and s3.ay=:ay3');
form39.query1.sql.add('and s1.yil='''+Combobox1.text+''' and s2.yil='''+Combobox1.text+''' and s3.yil='''+Combobox1.text+'''');
form39.query1.sql.add('and astatik.sicil=s1.sicil ');
form39.Query1.Params[0].Value:='OCAK';
form39.Query1.Params[1].Value:='SUBAT';
form39.Query1.Params[2].Value:='MART';
form39.Query1.Prepare;
form39.query1.open;
end;

Şeklinde sql kodlarım var..ORT ocak,şubat,mart aylarının ortalamasını alıyor ve bu sql in sonucu gride gönderildiğinde ORT değerleri float şeklinde oluyor(125,45879547889999999 gibi)..benim istediğim ORT nin yuvarlatılması(125,56 gibi) sql içinde round,trunc gibi fonksiyonları kullanamadım..Query deki alanlar değişken olduğundan query'ye alanları ekleyip display formattan yapma olanağıda yok... Sql de bunu nasıl yaparım?? veya başka bir şekilde.. görüşü olan arkadaşların görüşünü bekliyorum..
kolay gelsin..(veri tabanım Dbase)
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Hocam,

zaten DBase'in direk SQL desteği yok. BDE ile emule edilen bir olay sözkonusu. Böyle zorlama bir yapıda bu tarz gelişmiş işlemler yapmak biraz sıkıntılı bazen de imkansız. Yorumlarım :

* tez zamanda FireBird'e geçin.

* Display formatı çalışma anında atayabilirsiniz. Örnek kodlar forumda olması lazım.

* iyi bir yedekleme sisteminiz yoksa dBase/paradox'ta çok kötü şişebilirsiniz. Yedek almadan deneme yapmayın.

Kolay gelsin.
sword
Üye
Mesajlar: 18
Kayıt: 31 Ara 2004 01:48

Mesaj gönderen sword »

Mustafa Hocam
* Display formatı çalışma anında atayabilirsiniz. Örnek kodlar forumda olması lazım. demişsiniz


...Formu araştırdım çalışma anında display format atamayla ilgili kod bulamadım .. bir örnek kod yazabilirmisiniz veya bunu hangi bileşenin(query,grid) hangi eventına yazacağız (ORT alanı çalışma anında oluşturulan bir alan)..
En son sword tarafından 05 Oca 2005 03:56 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

:ara displayformat
.-.-.-.-.-.-.-. ^_^
sword
Üye
Mesajlar: 18
Kayıt: 31 Ara 2004 01:48

Mesaj gönderen sword »

mege yazdı::ara displayformat
TNumericField(Query1.FieldByName('ORT').displayformat:='#,###';
ile problemi çözdüm..
Teşekürler Mustafa ve Mege Hocam..
kolay gelsin...
Cevapla