Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
kazimates
Üye
Mesajlar: 332 Kayıt: 01 Tem 2005 12:40
Konum: Kıbrıs
İletişim:
Mesaj
gönderen kazimates » 17 Ağu 2010 01:38
aşağıda ki kodda bulunan like komutu hata veriyor acaba sorun nerede?
Kod: Tümünü seç
with QInvoice do
begin
close;
sql.Clear;
sql.Text:='select INVOICES.INVOICEID, INVOICES.DATE, INVOICES.BELGENO, '+
'CARI_TABLE.DEFINITION, MARKA.MARKA, SIGORTA.IHESAPUNVANI, '+
'INVOICES.TOTAL_COST, est_types.TYPENAME '+
'from INVOICES WHERE est_types.TYPENAME like 'GIVEN ESTIMATE' '+
'LEFT OUTER JOIN CARI_TABLE ON INVOICES.PAYEE=CARI_TABLE.RECORDNO '+
'LEFT OUTER JOIN MARKA ON INVOICES.MARKAREF=MARKA.KAYITID '+
'LEFT OUTER JOIN SIGORTA ON INVOICES.SIGORTAREF=SIGORTA.IKAYITID '+
'LEFT OUTER JOIN est_types ON INVOICES.STATUS=est_types.recordno ';
ExecSql;
end;
QINvoice.Open;
kazimates
Üye
Mesajlar: 332 Kayıt: 01 Tem 2005 12:40
Konum: Kıbrıs
İletişim:
Mesaj
gönderen kazimates » 17 Ağu 2010 01:54
aşağıda ki şekilde kullanınca sorun çözüldü.
Kod: Tümünü seç
with QInvoice do
begin
close;
sql.Clear;
sql.Text:='select INVOICES.INVOICEID, INVOICES.DATE, INVOICES.BELGENO, '+
'CARI_TABLE.DEFINITION, MARKA.MARKA, SIGORTA.IHESAPUNVANI, '+
'INVOICES.TOTAL_COST, est_types.TYPENAME '+
'from INVOICES '+
'LEFT OUTER JOIN CARI_TABLE ON INVOICES.PAYEE=CARI_TABLE.RECORDNO '+
'LEFT OUTER JOIN MARKA ON INVOICES.MARKAREF=MARKA.KAYITID '+
'LEFT OUTER JOIN SIGORTA ON INVOICES.SIGORTAREF=SIGORTA.IKAYITID '+
'LEFT OUTER JOIN est_types ON INVOICES.STATUS=est_types.recordno '+
'where est_types.typename like concat("GIVEN ESTIMATE") ';
ExecSql;
end;
QINvoice.Open;
vkamadan
Kıdemli Üye
Mesajlar: 1935 Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:
Mesaj
gönderen vkamadan » 17 Ağu 2010 09:02
merhaba bilgi olması açısından belirtmek istedim ,
ilk kodunuzdaki en önemli sorun WHERE deyğiminin JOIN lerden önce kullanılmış olmasıydı, her zaman JOIN li bir cümlede WHERE joinlerden sonra kullanılmalıdır (MySQL için konuşuyorum) , diğer nokta CONCAT(s1,s2,s3,sn..) şeklinde kendine verilen stringleri birleştiren bir fonksiyondur burada like "GIVEN ESTIMATE" çift tırnak içinde demeniz yeterli oalcaktır.
İyi çalışmalar.