delphi 2010 mysql 5 ve like komut hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
kazimates
Üye
Mesajlar: 332
Kayıt: 01 Tem 2005 12:40
Konum: Kıbrıs
İletişim:

delphi 2010 mysql 5 ve like komut hatası

Mesaj gönderen kazimates »

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:

Re: delphi 2010 mysql 5 ve like komut hatası

Mesaj gönderen kazimates »

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;
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: delphi 2010 mysql 5 ve like komut hatası

Mesaj gönderen vkamadan »

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.
Volkan KAMADAN
www.polisoft.com.tr
Cevapla