Mssql - Asp İçerik Arama?
-
Normal aramadan biraz daha değişik olarak bir arama yaptırmam lazım örneğin veritabanında kayıt "yedek parça" şeklinde ancak ben "parça yedek" veya "par yed" ya da "yed p a r" gibi arattığımda otomatikman "yedek parça" ürününü bulabilmeliyim.. Nasıl yapılabilir bu? biraz tartışalım kafam basmıyor şuan kaldım öyle.
-
şöyle yapabilirsin..
1- sql tarafından
iki tane where şartın olacak. arayacağın kelime par yed olsun. substring fonksiyonlarıyla boşluğa kadar olan kısımları böleceksin ve ilk kelimeciği "par" ı like ile kayıtlarda aratacasın ve yine substring fonksiyonlarla ikinci kelimeciğini "yed" i alıp onu da linke ile karşılaştıracaksın. bu substringi asp tarafından yaptrmak daha iyidir
mesela
select * from tablo_adi where alan_adi LIKE '%par%' and alan_adi LIKE '%yed%'
2- asp tarafından
tüm tabloyu çektin diyelim ve arama yapcağın kolon 2. kolon olsun..
bir for döngüsüyle tablodaki satırları tek tek alıp o 2. kolonun hücresindeki text değerini contains fonksiyonu ile eşleşip eşletmediğine bak..
asp kodunu tam olarak bilmiyorum ama şöyle olacak
for i = 0 to SatirSayisi
if tablo.Row(i])Cell(1).Value.Contais("par") and tablo.Row[i].Cell[1].Value.Contais("yed") then
baskatablo.AddRow(tablo.Row(i))
next
gibi ayıklama yapabilirsin.. belki asp nin kendine özgü fonksiyonları da olabilir, çok bilmiyorum maalesef ama basttiğim iki yöntemle de yapılabilir olması gerek
-
Benzer durumlarda fulltextsearch de işe yarıyor
-
eyvallah tam istediğim gibi :)
-
2 yöntemde veri tabanında çok fazla veri varsa sistemini yorar.
Field lerle çalışmalısın kategorileme yapmalısın, ondan sonra %like% yapmalısın
Konu hortladı ama yeni gördüm :)
