NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 6 - MS-SQL krok za krokem: Výběr dat (vyhledávání)

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
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

 
Odpovědět
5.5.2014 19:15
Avatar
Odpovídá 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.

 
Odpovědět
5.5.2014 19:34
Avatar
Maros2470
Člen
Avatar
Odpovídá 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.

 
Odpovědět
5.5.2014 19:52
Avatar
Milan Křepelka
Tvůrce
Avatar
Odpovídá 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í.

 
Odpovědět
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 :)

Odpovědět
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
Odpovídá na KlimiCZ
mkub:20.7.2014 18:45

ja ani nepouzivam to tlacitko ;)

 
Odpovědět
20.7.2014 18:45
Avatar
KlimiCZ
Člen
Avatar
Odpovídá na mkub
KlimiCZ:20.7.2014 18:50

Když nedáváš kod :D

Odpovědět
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
Odpovídá 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 ;)

 
Odpovědět
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 :)

Odpovědět
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
 
Odpovědět
26.8.2014 12:16
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 27.