zapytanie sql i wyszukanie danych w tabeli Textbox

0

Witam serdecznie Panie i Panów programistów, jestem początkującym programista i mam pewien problemik przy aplikacji która piszę sobie do pracy. A mianowicie mam tabele sql 2005 express w 1NF.

id, nazwisko, imie, obywatelstwo

aplikacja jest okienkowa, i dane do przegladania, dodawanie , edycji mam zrobione w dataGridzie z automatycznie generowanym dataSetem....

wszystko działa, string connection wygenerowal sie auto ale nie wiem jak ugrysc teraz formularz, chce pobrac tekst z pola textbox i wstawić go jako kryterium zapytania w query procedure
SELECT * FROM TABELA WHERE (nazwisko = ten tekst z pola textboc)

problem moze i prosty ale wszystkie rozwiazania jakie znalazlem bazuja na sposobie podlaczenia sie do bazy programowo, a ja to juz mam zrobione i czy może ktoś mi napisać jak mam to zrobić , dziekuję

0
string zapytanie = "SELECT * FROM TABELA WHERE (nazwisko = " + this.textBox1.Text + ")";

?

0

Dzieki za szybka reakcje hmmm proste ale czasem szukajac dalej nie widzi sie rozwiazania pod nosem , mam nadzieje ze przyjdzie mi to z czasem, ale pociagne temat, terazaby tego uzyc :

SQLDAtaAdapter dt = new SQLDataAdapter(zapytanie); ????

i jak moge wynik tego zapytania wyswietlic np w label ????

foreah (DataRow dane in NazwaTabeli.Rows)
{
label.text = zapytanie ?????
}
wzorowalem sie tutaj na ksiazce , wiem ze zle czy mozesz mnie naprowadzic :) ?

0

ja zrobiłem cos takiego

SQLCommand zapytanie = new SQLCommand("mazwaProcedury");
zapytanie.CommandType = CommandType.StoredProcedure;
query.Parameters.Add(new SQLParameter(|@par", textbox1.Text));

a zapytanie SQL ma postac
CREATE PROCEDURE nazwaProcedury
SELECT * FROM dataTable
WHERE (Nazwisko = @par)

a;e pisze mi ze musze zdefiniowac par jako skalar wiec dodalem
(@par AS varchar) - stringa nie przyjal ale dalej nie wiem czy to jest dobre ??? a moze lepiej isc w strone tego co szanowny kolega mi napisal ???

0
ljames napisał(a)

SQLDAtaAdapter dt = new SQLDataAdapter(zapytanie); ????

i jak moge wynik tego zapytania wyswietlic np w label ????

foreah (DataRow dane in NazwaTabeli.Rows)
{
label.text = zapytanie ?????
}
wzorowalem sie tutaj na ksiazce , wiem ze zle czy mozesz mnie naprowadzic :) ?

Wrzucanie wyniku zapytania do Label to nie jest dobry pomysl. Lepiej uzywaj DataGridView.

            DataSet ds = new DataSet();

            string zapytanie = "SELECT ContactID, FirstName, LastName, EmailAddress FROM Person.Contact" +
                " ORDER BY FirstName";

            SqlDataAdapter da = new SqlDataAdapter(zapytanie, conn);

            da.Fill(ds, "Contact");

            this.dataGridView1.AutoGenerateColumns = true;
            this.dataGridView1.DataSource = ds;
            this.dataGridView1.DataMember = "Contact";
0

.... próbowałem podobnego kodu ale ja nie mam ustanowionego conn programowo, connectionString wygenerował mi się automatycznie przez wizarda , czy wystarczy jak wpiszę

SQLConnection conn = new SQLConnection(); ?????

0
ljames napisał(a)

.... próbowałem podobnego kodu ale ja nie mam ustanowionego conn programowo, connectionString wygenerował mi się automatycznie przez wizarda ,

Nie wiem o jakim wizardzie mowisz i jak on generuje connectionStringi'i (pewnie zle jako, ze i tak nie mozesz sie polaczyc) ale w tym temacie dalem przyklad jak sie do lokalnej bazy danych podlaczyc. I tak cos mi sie zdaje, ze tamtem topik tez Ty zalozyles.

ljames napisał(a)

.
czy wystarczy jak wpiszę
SQLConnection conn = new SQLConnection(); ?????

Nie, nie wystarczy.

0

:) prawie Nas rozgryzłeś, topic założył kolega, mamy zrobić na zaliczenie takie zadanie C# + SQL, proste zapytania z bazy i wyświetlenie wyników, co do tego że wymieniam z nim info trafiłeś w 10 :), nie bądz zły prosze ...

0

a co do conStringow , jak przeciągniesz komponent dataGridViev i wybierzesz data soursce, wskażesz BD to on sam się podłancza generując dataAdapter, DataSet i connStr, założyłem że skoro te elementy zostały wygenerowane to są hmmm aktualne w caym kodzie programu

0
ljames napisał(a)

a co do conStringow , jak przeciągniesz komponent dataGridViev i wybierzesz data soursce, wskażesz BD to on sam się podłancza generując dataAdapter, DataSet i connStr, założyłem że skoro te elementy zostały wygenerowane to są hmmm aktualne w caym kodzie programu

Mi tam z tego wizarda nie udalo sie nigdy polaczyc (albo cos ciagle zle robie, albo mam zle ustawienia, albo nie wiem co :P).

I w koncu udalo sie wam do tej bazki podlaczyc? Olejcie tego wizarda i programowo sie podlaczajcie. Dalem przyklady.

Zreszta tez powinniscie zajrzec do dokumentacji: SqlConnectionStringBuilder, SqlConnection, DataSet, SqlDataAdapter.

0

jeszcze nie :( robie baze od nowa baze, 1 kolumna, bez danych , dopisze do tego kod i zadam mu selecta powinien w gridzie mi nagłówki kolumn zwrócić ...zobaczymy jak wyjdzie

0

string zapytanie = "SELECT * FROM TABELA WHERE (nazwisko = " + this.textBox1.Text + ")";

Nigdy nie składaj zapytań SQL-a w taki sposób. Używaj parametrów.

Co do pytania: wszystko zależy co chcesz wyciągnąć.

Przykłady:

  • Jeżeli wielką tabelę i wyświetlić ją w tabeli --> DataAdapter + DataSet
  • Jeżeli kilka wartości --> SqlDataReader + SqlCommand
  • Jeżeli pojedyncza wartość (do label !) --> ExecuteScalar
0

chce wyswietlic 1kolumnowa tabele, id,nazwisko,imie,obywatelstwo,rok ale wdł parametru pobranego z textboxa

zapytanie SQL mam nast

select * from baza where nazwisko = @par, w query bilderze mi to działa jak podam wartość parametru , ale jak ją przekazać z textboxa ???

0

Jesli jeszcze sobie z tym nie poradziles:

            string zapytanie = @"SELECT ContactID, FirstName, LastName, EmailAddress FROM Person.Contact" +
               " WHERE LastName = @naz ORDER BY FirstName";

            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            cmd.CommandText = zapytanie;
            cmd.Parameters.AddWithValue("@naz", this.textBox4.Text);
0

juz sobie z tym poradzilem i z baza itd... :) ale natrafilem na kolejny pryszcz, wyruk danych z datagridview .... na razie czytam dokumentacje ale jak juz takie cos robiliscie moze wkleicie maly fragmencik kodu ,albo po prostu napiszcie prosze co i jak ... :)

0

W Expressie trzeba wskazać plik bazy danych. Robi się to tak:

W oknie Database Explorer - > Add.
Data source = Microsoft SQL Server Database File (SqlClient)
Database File name - tu wskazujemy plik bazy danych. Przeważnie w
Microsoft SQL Server\MSSQL.1\MSSQL\Data

Podajmy czy łączyć się po haśle, czy przez Windows Authentication. Standardowo to drugie i ok.

Wtedy już jest stworzone połączenie do bazy danych i można korzystać z kreatorów.
W każdej innej wersji niż Express można wskazać instancję serwera czyli np. localhost albo adresserwera. To jest taka drobna różnica.

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