Problem z zapytaniem sql z wielu textboxow

Wszystko o bazach danych

Moderator: xxSlayeRxx

Problem z zapytaniem sql z wielu textboxow

Sponsor

Sponsor
 

Problem z zapytaniem sql z wielu textboxow

Postprzez imbart » Śr sty 18, 2012 2:24 pm

Witam wszystkich.
Piszę ponieważ mam następujący problem. Mam bazę danych w sql server 2008, która mieści kolumny takie jak id, imie, nazwisko, pesel. W oknie windows form znajdują się 4 textboxy, które wyszukują dane z bazy (id_textbox, imie_textbox, ... ). Moim celem jest, aby w datagridview wyświetlały się dane z bazy, wyszukane za pomocą tych 4 textboxów.

Mój kod:
Kod: Zaznacz cały
string zapytanie = @"select * from mojaTabela where id = @id and imie = @imie and nazwisko = @nazwisko and pesel = @pesel";

SqlCommand kom = new SqlCommand(zapytanie, polaczenie);

kom.Parameters.Add("@id", SqlDbType.Int).Value = id_textBox.Text.Trim();
kom.Parameters.Add("@imie", SqlDbType.Text).Value = imie_textBox.Text.Trim();
kom.Parameters.Add("@nazwisko", SqlDbType.Text).Value = nazwisko_textBox.Text.Trim();
kom.Parameters.Add("@pesel", SqlDbType.Decimal).Value = pesel.textBox.Text.Trim();

SqlDataReader dr = kom.ExecuteReader();

DataSet ds = new DataSet();
DataTable dt = new DataTable("mojaTabela");
ds.Tables.Add(dt);
ds.Load(dr, LoadOption.PreserveChanges, ds.Tables[0]);

dataGridView.DataSource = ds.Tables[0];


Wszystko działa dobrze, wyszukuje dane z textboxow itp. Problem leży w tym, że każdy textbox musi być uzupełniony. Chciałbym, aby po wpisaniu tylko jednej wartości textboxa przeszukało bazę i znalazło(albo nie) wynik. Powiedzmy, że wpiszę imię Marek i wyszuka wszystkie wiersze gdzie imię jest Marek. Jednak gdy uzupełni się tylko tego jednego textboxa, zapytanie sql odczytuje wartości pustych textboxow i nawet gdy jest na jakiejś pozycji imię Marek, nie wyświetli go.
Próbowałem zmienić w zapytaniu sql AND na OR, wtedy przy wypełnionym tylko jednym textboxie (powiedzmy imie), działa dobrze, lecz gdy wpiszemy wartości " imie = Marek, nazwisko = Kowalski ", wyszuka nam wszystkich marków i wszystkich kowalskich, a nie konkretnie Marka Kowalskiego.

Myślę, że problem zostałby rozwiązany gdyby przy łączniku AND w zapytaniu sql wartości textboxow pustych nie zostałyby odczytywane i pomijane w zapytaniu. Chyba, że jest jeszcze jakiś inny sposób. I tu właśnie moja prośba do bardziej zaawansowanych programistów C#. Każda pomoc się przyda, z góry dziękuję.
imbart
New member
 
Posty: 2
Dołączył(a): Wt lis 15, 2011 7:45 pm

Re: Problem z zapytaniem sql z wielu textboxow

Postprzez ressiv5 » Śr sty 25, 2012 4:24 pm

ressiv5
Member
 
Posty: 14
Dołączył(a): Śr paź 28, 2009 2:23 pm

Re: Problem z zapytaniem sql z wielu textboxow

Postprzez Marcin Miga » Śr sty 25, 2012 7:24 pm

Już dostał odpowiedź: http://peb.pl/programowanie/1176394-c-p ... sql-z.html

pozdrawiaMM
Marcin Miga
Member
 
Posty: 215
Dołączył(a): Pn maja 17, 2010 2:35 pm

Re: Problem z zapytaniem sql z wielu textboxow

Postprzez imbart » Cz sty 26, 2012 11:10 am

tak, na peb już mi pomogli, ale dzięki za artykuł ;) Pozdrawiam
imbart
New member
 
Posty: 2
Dołączył(a): Wt lis 15, 2011 7:45 pm

Re: Problem z zapytaniem sql z wielu textboxow

Sponsors

Sponsor
 


Powrót do Bazy danych

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości

cron