Merhaba iyi akşamlar öncelikle sql Server veri tabanı kullanıyorum veri tabanına birleşen olarak adotable kullanıyorum bunun bir sıkıntısı olurmu bana ilerde
1 sorum bu
2. Sorum
Ben adotable bağlantısıyla arama yapmak istiyorum
Stok kodu,stok adı,oemkodu, vb birçok alanda arama yapmak istiyorum yani bir adet edit1 birin içine yazdığımda bütün kolonları taramasını istiyorum
Büyük küçük haf duyarlık olacak nasıl yazarsam yazım arasın
Örnek
Baskı balata diye stok var kodu da 7t16-7540-aa
Balata yazsam o stok bulunsun
7540 yazsam stok bulunsun istiyorum
Arama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Arama
Merhaba,
1) TAdoTable kullanmakta bir sorun olmayacaktır. Yıllardır mevcut olan bir bileşen.
2) Bu soru ile ilgili aynı tablo üzerinde arama yapmak yerine bir liste ekranı açarak seçilen kayda konumlanmak daha faydalı olacaktır.
Öneri 2A) Aşağıdaki örnek SQL cümlesine stok tablosunda "primary key" alanı da ekleyerek çalıştırabilir, listede seçilen satırdaki "primary key" bilgisini kullanarak AdoTable üzerinde ilgili kayda erişmeniz mümkün.
Yukarıda dikkat ederseniz 'aranacak kelime(ler)' ifadesini birden fazla kez kullanıyoruz. Bu ifadeyi sürekli yazmak yerine SQL içinde parametre kullanaran bir defa değer olarak vermeniz yeterli olacaktır.
NOT1: Örnek verilen SQL cümlesini çalıştırabilmek için ilgili tablonuzda "Full-Text Index" tanımlamanız gerekir.
NOT2: Full-Text Index oluşturduktan sonra SQL server full-text servisinin de çalıştığından emin olmalısınız.
Öneri 2B) Aşağıdaki örnek SQL cümlesine stok tablosunda "primary key" alanı da ekleyerek çalıştırabilir, listede seçilen satırdaki "primary key" bilgisini kullanarak AdoTable üzerinde ilgili kayda erişmeniz mümkün.
Yukarıdaki SQL ile ilgili dikkat edilmesi gereken nokta, SQL Server kurulumu sırasında COLLATION olarak büyük küçük harf duyarlı olmayan bir COLLATION seçilmiş olmasıdır. Aksi halde SQL komutu büyük küçük harf ayrımı yapacaktır. Eğer SQL Server özellikleri içinde "Server Collation" karşısında "Turkish_CI_AS" okuyor iseniz bu ifadedeki "CI" Case-Insensitive (büyük küçük harf aynı kabul edilsin. Ayırd edilmesin) anlamına gelir ve örnek SQL komutu direk olarak kullanılabilir.
Bu noktada database sunucu üzerinde çalışan her bir database istenir ise farklı COLLATION ile oluşturulabileceği için database collation bilgisini de kontrol etmekte fayda vardır.
1) TAdoTable kullanmakta bir sorun olmayacaktır. Yıllardır mevcut olan bir bileşen.
2) Bu soru ile ilgili aynı tablo üzerinde arama yapmak yerine bir liste ekranı açarak seçilen kayda konumlanmak daha faydalı olacaktır.
Öneri 2A) Aşağıdaki örnek SQL cümlesine stok tablosunda "primary key" alanı da ekleyerek çalıştırabilir, listede seçilen satırdaki "primary key" bilgisini kullanarak AdoTable üzerinde ilgili kayda erişmeniz mümkün.
Kod: Tümünü seç
SELECT StokKodu,StokAdi,OemKodu
FROM STOK_TABLO_ADI
WHERE
FREETEXT(StokKodu, 'aranacak kelime(ler)') OR
FREETEXT(StokAdi, 'aranacak kelime(ler)') OR
FREETEXT(OemKodu, 'aranacak kelime(ler)')
NOT1: Örnek verilen SQL cümlesini çalıştırabilmek için ilgili tablonuzda "Full-Text Index" tanımlamanız gerekir.
NOT2: Full-Text Index oluşturduktan sonra SQL server full-text servisinin de çalıştığından emin olmalısınız.
Öneri 2B) Aşağıdaki örnek SQL cümlesine stok tablosunda "primary key" alanı da ekleyerek çalıştırabilir, listede seçilen satırdaki "primary key" bilgisini kullanarak AdoTable üzerinde ilgili kayda erişmeniz mümkün.
Kod: Tümünü seç
SELECT StokKodu,StokAdi,OemKodu
FROM STOK_TABLO_ADI
WHERE
StokKodu like '%aranacak kelime(ler)%' OR
StokAdi like '%aranacak kelime(ler)%') OR
OemKodu like '%aranacak kelime(ler)%'
Bu noktada database sunucu üzerinde çalışan her bir database istenir ise farklı COLLATION ile oluşturulabileceği için database collation bilgisini de kontrol etmekte fayda vardır.