Mega Code Archive

 
Categories / Delphi / Examples
 

Neoturk forum - sql yazmayla ilgili

" 14 Aralık 2005 22:11 Slm beyler sorun delphi de SQL yazmayla ilgili SQL text i yazarken içerde (' ') işareti kullanmam gerekiyo ama ben tırnağı açtığım zaman ilk tırnağı kapattım sanıyo 'SELECT * FROM tablo WHERE alan1 like '%a%'' sorgusunu nasıl yazabilirim. ilgilenenlere teşekkürler. Programmer_18 " *********************************** Örneğin QuotedStr('aaa') yazdığında delphi bunu SQL 'e tırank içinde gönderiyor. 'SELECT * FROM tablo WHERE alan1 like '+ QuotedStr('%aaa%') Karahan1453 *********************************** Saol kardeş ilgilendiğin için. Bu bana komik bi sorun gibi gelmişti ama böyle bi çözümü olduğunu tahmin etmiştim. tekrar teşekkürler. Programmer_18 *********************************** cevap: karahan1453 arkadaşımıza teşekkürler.......... not: tek tırnak kullanmanız gereken yerlerde çift tırnak kullanabilirsiniz. aşağıdaki örnekleri inceleyiniz.... Bu konuda fazlaca döküman ve kod örneği görebilirsiniz kodbank içerisinde. Kullandığınız veritabanı Paradox olsun Access olsun farketmez, sql cümlecikleri hepsinde geçerlidir. dbgrid,table ve datasource ayarlarınızı yaptığınızı varsayıyorum. ( dbgridin datasource = datasource1 olarak yaptınız vs vs ... ) verdiğiniz tablo adı ve kolonunuza göre sql cümlecikleri şunlar olabilir: 1) SELECT * FROM CARI WHERE C_ADI ="neoturk" > c_adı neoturk olanları listeler. 2) SELECT * FROM CARI WHERE C_ADI ="neoturk" ORDER BY C_ADI ASC > c_adı neoturk olanları listeler ve c_adi kolonuna göre sıralar. ASC - Adan Zye doğru sıralar DESC - Zden Aya doğru sıralar 3) SELECT * FROM CARI WHERE C_ADI like "neoturk*" > c_adı neoturk ile başlayanları listeler. ( * kullandım dikkat ) ORDEY BY ... kullanabilirsiniz, süsleyebilirsiniz. 4) SELECT * FROM CARI WHERE C_ADI like "%neoturk%" > c_adı içerisinde neoturk geçenleri listeler ( % kullandım dikkat ) ORDEY BY ... kullanabilirsiniz, süsleyebilirsiniz. 5) 'SELECT * FROM CARI WHERE C_ADI like "'+edit1.text+'*"' > c_adı edit1 hücresindeki hece ile başlayanları listeler. ... sql cümlelerinde karşılaşılan tek tırnak ( ' ) problemi vardır, bunu 2 şekilde önleyebilirsiniz, #39 kullanarak ( 39 nolu ascii karakterin karşılığı tirnaktir ) " ( tab tuşunun üzerindeki tuşda bulunan çifttırnak kullanarak ) örnekler: sqlcumle:='SELECT * FROM CARI WHERE C_ADI like "'+edit1.text+'*"' ( doğrudur ) sqlcumle:='SELECT * FROM CARI WHERE C_ADI like '+#39+edit1.text+'*'+#39 ( doğrudur ) sqlcumle:='SELECT * FROM CARI WHERE C_ADI like ''+edit1.text+'*'' ( yanlıştır ) sqlcumle:='SELECT * FROM CARI WHERE C_ADI like '''+edit1.text+'*''' ( doğrudur ) hangi yöntem size kolay geliyor ise onu kullanınız. ben şahsen çifttırnak ( " ) olanı tercih ediyorum, kodlama karışmıyor o zaman... access de sql cümleciklerini şöyle kullanabilirsin: ... adoquery1.sql.text:=sqlcumle;//cümleyi ata adoquery1.sql.open;//çalıştır, göster ( ilgili dbgrid üzerinde gösterecektir ) ... kolay gelsin........ saygılarımla_ neoturk_