wiele textbox`ów i filtrowanie datagrindviw

0

Witam !!

Mam kilka pytań :) Piszę sobie małą aplikację bazodanową.
I mam teraz taki problem.
Jak zrobić aby po wpisaniu w textboxach imię nazwisko pesel itd filtrowało mi datagrindview a następnie po kliknięciu na wiersz w datagrindview uzupełniło mi pozostałe textboxy ?

i jeszcze jedna sprawa :D

    
            SqlConnection conn = new SqlConnection(
               "Data Source=łukasz-pc\\sqlexpress;Initial Catalog=master;Integrated Security=True");
           
            try
            {
                id_sprzetu.Text = Convert.ToString(sprzet_nazwa_istn.Items.Count);
               
                conn.Open();
             
               
                id_sprz_istn.Refresh();


                int id_s_tmp = sprzet_nazwa_istn.Items.Count; ; 

                id_s_tmp+= 1;
                int ilosc_tmp = Convert.ToInt32(Ilosc.Text);
                int cena_tmp = Convert.ToInt32(Cena.Text);
                
                SqlCommand cmd = conn.CreateCommand();

                cmd.CommandText = string.Format("INSERT INTO sprzet (id_s,nazwa,sztuk,cena) values(" + id_s_tmp + ",'" + Nazwa.Text + "',"        
                cmd.Dispose();
                
  

            }

            finally
            {
              
                // Zamknięcie połączenia
                if (conn != null)
                {
                    conn.Close();
                }
                
            }

chciałbym aby po wykonaniu tego sprzet_nazwa_istn - czyli combobox został zaktualizowany o to co dodałem .. jakiś refrash albo co ;)

0

Jeśli chodzi o odświeżanie danych i wypełnianie textboxów, to zainteresowałbym się tematem BindingSource i ogólnie bindowania danych w WinForms.
A co do filtrowania, to trzeba obsłużyć wyszukiwanie bądź filtrowanie, DGV ma zdaje się taką możliwość.

0

Polecam też zaznajomienie się z klauzulą using(), bo jawne wywoływanie metody Dispose() (jeśli już robione) - powinno być jedynie wewnątrz finally { }.

0
Deti napisał(a)

jawne wywoływanie metody Dispose() (jeśli już robione) - powinno być jedynie wewnątrz finally { }.

Dlaczego powinno? Jeśli nie robię tak, to jest coś źle? A jeśli nie da się inaczej?

0

Dlaczego powinno? Jeśli nie robię tak, to jest coś źle? A jeśli nie da się inaczej?

Bo inaczej nie gwarantujesz, że Dispose() w ogóle się wykona - co zawsze powinno mieć miejsce jeśli klasa obsługuje IDisposable.

Jeśli się nie da - aplikacja jest źle zaprojektowana.

0

Ale czemu ma się nie wykonać? using służy do czegoś więcej niż wygody programisty?

0

W powyzszym przykladzie instrukcja cmd.Dispose() nie wykona sie jesli podczas operacji na bazie zostanie wyrzucony wyjatek. Gdyby cmd byla objeta w 'using', to Dispose() zostaloby wykonane tak czy siak - jest zamieniane na try/finally podczas kompilacji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1