Witam, tworze program zbliżony funkcjonalnością do książki adresowej, powiedzmy ze mam pola tekstowe dla imienia, nazwiska, adresu, miasta i innych. Mam tez w bazie przykładowe 10 wpisów. Chce zrobić wyszukiwanie na podstawie wpisanych danych, tyle ze chce to zrobić w taki sposób ze gdy pole tekstowe jest puste to nie uwzględniać tego w wyszukiwaniu, natomiast wszystko inne tak. Jakieś pomysły/wskazówki na to jakby można było to zrobić?
To nie powinno być trudne, wystarczy użyć operatora LIKE.
Można np. utworzyć zapytanie w stylu:
SELECT * FROM Osoba WHERE imie LIKE '%@imie%' AND nazwisko LIKE '%@nazwisko%'
Pozniej @imie, @nazwiso itp. dodaj do zapytania jako parametry ( http://www.csharp-station.com/Tutorials/AdoDotNet/lesson06.aspx )
Zamiast @ może być inny znak, zależnie od bazy danych. % gwarantują, że jeśli nic nie wpiszesz w dane pole, to dana kolumna nie zostanie filtrowana.
Powodzenia ;P
PS. Pisałem z pamięci, więc mogły wkraść się błędy.
Ok dzięki bardzo, pomoże mi to ruszyć z miejsca. Jeszcze jedno pytanie czy da się zrobić coś podobnego ale bez użycia SQL? Tzn. z wykorzystaniem czystego C#?
Ale czemu nie chcesz użyć SQL'a? Możesz ewentualnie użyć LINQ, ale składnia także jest a la SQL ;P
Jestem po prostu ciekaw czy są też inne rozwiązania ;-)