delphi+SQL(LIKE)
delphi+SQL(LIKE)
slm arkadaslar tablolarını access te olusturdugum bir bir program yazıyorum delphide. fakat olusturdugum sql cumlesinde like komutunu calıstıramadım yardımcı olabilirmisiniz??
begin
a:=edit1.Text;
dm.Qiplik.Close;
dm.Qiplik.SQL.Clear;
dm.Qiplik.SQL.Text := 'select * from dbo_Iplikler where IplikKodu LIKE' + #39 + a + #39 ;
dm.Qiplik.Prepare;
dm.Qiplik.Open;
end;
sizce sorun nerede??
begin
a:=edit1.Text;
dm.Qiplik.Close;
dm.Qiplik.SQL.Clear;
dm.Qiplik.SQL.Text := 'select * from dbo_Iplikler where IplikKodu LIKE' + #39 + a + #39 ;
dm.Qiplik.Prepare;
dm.Qiplik.Open;
end;
sizce sorun nerede??
Merhaba,
öncelikle aramıza hoşgeldiniz
1. Öncelikle SQL'i Access'te deneyip çalıştırın. Bir de Access'te değişik kullanımlar olabiliyor. Emin olmamakla birlikte % yerine # kullanılıyor galiba. LIKE'ın standart kullanımı şu şekildedir :
SELECT *
FROM TABLO_ADI
WHERE ALAN_ADI LIKE 'AAA%'
2. DM.Qiplik.Open satırından önce, query'i açmadan SQL'e bakarak yanlışı tespit edin.
ShowMessage(DM.Qiplik.SQL.Text)
Kolay gelsin.
öncelikle aramıza hoşgeldiniz

1. Öncelikle SQL'i Access'te deneyip çalıştırın. Bir de Access'te değişik kullanımlar olabiliyor. Emin olmamakla birlikte % yerine # kullanılıyor galiba. LIKE'ın standart kullanımı şu şekildedir :
SELECT *
FROM TABLO_ADI
WHERE ALAN_ADI LIKE 'AAA%'
2. DM.Qiplik.Open satırından önce, query'i açmadan SQL'e bakarak yanlışı tespit edin.
ShowMessage(DM.Qiplik.SQL.Text)
Kolay gelsin.
Kod: Tümünü seç
dm.Qiplik.SQL.Text := 'select * from dbo_Iplikler where IplikKodu LIKE '''%' + a +'%''';
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
begin
a:=edit1.Text;
dm.Qiplik.Close;
dm.Qiplik.SQL.Clear;
dm.Qiplik.SQL.Text := 'select * from dbo_Iplikler where IplikKodu LIKE ' + #39 + a + #39 ;
// ShowMessage(dm.Qiplik.SQL.Text);
dm.Qiplik.Prepare;
dm.Qiplik.Open;
end;
program calısıyor hatta edit 1 in icindeki deger de a degiskeninin icin
e geliyor fakat like komutu calısmıyor
mesela iplik kodum ac21 ise ac yazdıgımda hicbir keyıt ekrana gelmiyor sadece ac21 yazdıgımda ekrana kayıt geliyor
sebebi ni pek anlayamadm ama accessten kaynaklanıyor olabilir.
yardımcı olursanız sevinirim...
a:=edit1.Text;
dm.Qiplik.Close;
dm.Qiplik.SQL.Clear;
dm.Qiplik.SQL.Text := 'select * from dbo_Iplikler where IplikKodu LIKE ' + #39 + a + #39 ;
// ShowMessage(dm.Qiplik.SQL.Text);
dm.Qiplik.Prepare;
dm.Qiplik.Open;
end;
program calısıyor hatta edit 1 in icindeki deger de a degiskeninin icin
e geliyor fakat like komutu calısmıyor
mesela iplik kodum ac21 ise ac yazdıgımda hicbir keyıt ekrana gelmiyor sadece ac21 yazdıgımda ekrana kayıt geliyor
sebebi ni pek anlayamadm ama accessten kaynaklanıyor olabilir.
yardımcı olursanız sevinirim...
o zaman bir hata vermemesine ragmen sonuç beklediğiniz gibi degil....
Bu durumlarda yazdıgınız sql cümlesini sql Explorer gibi veya kullandığınız veritabanının ilgili sql calıştırma aracı içinden deneyin. Orada çalıştığından emin olduğunuz kodu delphi icinden run time de oluşturmaya çalışın...
Bu durumlarda yazdıgınız sql cümlesini sql Explorer gibi veya kullandığınız veritabanının ilgili sql calıştırma aracı içinden deneyin. Orada çalıştığından emin olduğunuz kodu delphi icinden run time de oluşturmaya çalışın...
* http://www.fahrettin.org Manzara Fotoğraflarım... 
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...

* http://delphiturkiye.gunduz.info Seminerler...

* http://www.hakmar.com.tr Kalite bir haktır...

Gerekli cevap zaten verilmiş ama @dtgb kendi kodu üzerinde değişiklik yapıldığında daha iyi anlayacak. 5. satırda yapılmış değişikliklere dikkat edin.
Benim tavsiyem şu şekilde kullanmanız.
Kod: Tümünü seç
1. begin
2. a:=edit1.Text;
3. dm.Qiplik.Close;
4. dm.Qiplik.SQL.Clear;
5. dm.Qiplik.SQL.Text := 'select * from dbo_Iplikler where IplikKodu LIKE ' + #39 +''+'%' + a+'' + #39 ;
6. // ShowMessage(dm.Qiplik.SQL.Text);
7. dm.Qiplik.Prepare;
8. dm.Qiplik.Open;
9. end;
Kod: Tümünü seç
1. begin
2. s:='select * from dbo_Iplikler where IplikKodu LIKE ''%%s''';
3. a:=edit1.Text;
4. dm.Qiplik.Close;
5. //dm.Qiplik.SQL.Clear; // "SQL.Text :=" kullanıldığı için bu satıra gerek yok
6. dm.Qiplik.SQL.Text :=format(s,[a]);
7. // ShowMessage(dm.Qiplik.SQL.Text);
8. dm.Qiplik.Prepare;
9. dm.Qiplik.Open;
10. end;
- pentiumkivanc
- Üye
- Mesajlar: 350
- Kayıt: 19 Şub 2004 10:24
- İletişim:
Sorunun üstünden 1 yıl geçmiş ama yinede bununla ilgili bende like konusunda bir sıkıntı yaşadım. Access te like sorgusunda kullanımı şu şekilde yaptım: umarım faydalı olur
Kod: Tümünü seç
select * from stok where stokadi like "*[aranan_kelime]*"