Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

Diskusia – 6. diel - MS-SQL krok za krokom: Výber dát (vyhľadávanie)

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
Maros2470
Člen
Avatar
Maros2470:5.5.2014 19:15

Mám dotaz. Jak dostanu ve Form do příkazu hodnotu např. z TextBoxu?

Příklad: SELECT [Prijmeni] FROM [Uzivatele] WHERE [Prijmeni] LIKE 's%'; 's%'potřebuji nahradit textem z TextBoxu.

Výsledná data načítám např. do dataGrid

 
Odpovedať
5.5.2014 19:15
Avatar
Odpovedá na Maros2470
Michal Žůrek - misaz:5.5.2014 19:34

no tak nahrazení asi zvládneš, nezapomeň si to ošetřit na SQL injekce. Z formuláře musíš do DB tento T-SQL kód odeslat a datagrid naplnit daty.

 
Odpovedať
5.5.2014 19:34
Avatar
Maros2470
Člen
Avatar
Odpovedá na Michal Žůrek - misaz
Maros2470:5.5.2014 19:52

Když to mám napsáno takto:

private void bankaTextBox_Tex­tChanged(object sender, EventArgs e)
{
string connectionString = @"Data Source=PCMAREK\E­li;Initial Catalog=Eli-elektro;Integrated Security=True";
using (SqlConnection spojeni = new SqlConnection(con­nectionString))
{
spojeni.Open();

string kod = kodTextBox.Text;
string dotaz = "SELECT * FROM Banky WHERE Kod=@kod ";
using (SqlDataAdapter adapter = new SqlDataAdapter(do­taz, spojeni))
using (DataSet vysledky = new DataSet())
{
adapter.Selec­tCommand.Para­meters.AddWit­hValue("@kod", kod);
adapter.Fill(vys­ledky);

foreach (DataRow radek in vysledky.Tables[0]­.Rows)
{
dataGridView1­.Rows.Add(radek["Id"], radek["Banka"], radek["Kod"]);

}
}
spojeni.Close();
}

Vyhledá mi to data podle celého stringu napsaného do TextBoxu, ale nevím jak to udělat, aby mi to vypisovalo data postupně tak jak se připisují jednotlivé znaky do Text boxu.

 
Odpovedať
5.5.2014 19:52
Avatar
Milan Křepelka
Tvůrce
Avatar
Odpovedá na Maros2470
Milan Křepelka:20.7.2014 16:14

Nehledal bych tam žádná kouzla, prostě to slož jako bys psal normální SQL
WHERE Kod LIKE @kod

adapter.SelectCommand.Parameters.AddWithValue("@kod", string.Format("{0}{1}",kod,"%"));

Jinak je tam dost prostor k optimalizaci. Asi není předpoklad že v průběhu života toho formuláře vznikne nová banka, takže vytvářet nový spojení na každý stisk tlačítka je vysloveně plýtvání.

 
Odpovedať
20.7.2014 16:14
Avatar
KlimiCZ
Člen
Avatar
KlimiCZ:20.7.2014 17:13

Je tu tlačítko "Vložit Kod" - přidávám screen kdyby jsi to stále neviděl :)

Odpovedať
20.7.2014 17:13
Nesnaž se zakrýt něco, co jsi provedl úmyslně. Svět je tak malý, že dotyčný se to stejně dozví.
Avatar
mkub
Tvůrce
Avatar
Odpovedá na KlimiCZ
mkub:20.7.2014 18:45

ja ani nepouzivam to tlacitko ;)

 
Odpovedať
20.7.2014 18:45
Avatar
KlimiCZ
Člen
Avatar
Odpovedá na mkub
KlimiCZ:20.7.2014 18:50

Když nedáváš kod :D

Odpovedať
20.7.2014 18:50
Nesnaž se zakrýt něco, co jsi provedl úmyslně. Svět je tak malý, že dotyčný se to stejně dozví.
Avatar
mkub
Tvůrce
Avatar
Odpovedá na KlimiCZ
mkub:20.7.2014 20:01

myslis? mimochodom, ja na pridavanie kodu nepotrebujem ani mys... tam, kde chcem hodit kod, tam vlozim znacku, ze dalsi text sa jedna o kod... a vysledok je rovnaky ;)

 
Odpovedať
20.7.2014 20:01
Avatar
Ľubomír Prokopovič:26.8.2014 12:13

Len taka mensia poznamka v databaze je 31 uzivatelov nie 38 :)

Odpovedať
26.8.2014 12:13
"Počítače jsou jako Bůh ve Starém zákoně - hodně příkazů a žádné slitování." Joseph Campbell
Avatar
 
Odpovedať
26.8.2014 12:16
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!