IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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í.
Avatar
jzvire01
Člen
Avatar
jzvire01:7.4.2016 19:04

Ahoj, nevíte někdo v čem mám chybu?

string polozka = "";
            SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C: \Users\Jirka.JIRKA - HP\Documents\Visual Studio 2015\Projects\WindowsFormsApplication7\WindowsFormsApplication7\Database1.mdf;Integrated Security=True");
            SqlCommand com = new SqlCommand("SELECT SurName FROM Table WHERE Name='Marie'", con);
            SqlDataReader reader = com.ExecuteReader();
            while (reader.Read())
            {
                polozka = reader.GetString(0);
            }

            MessageBox.Show(polozka);
 
Odpovědět
7.4.2016 19:04
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na jzvire01
Ondřej Štorc:7.4.2016 19:28

A co ti to dělá? (nejspíše to na něčem padá, tak kdyby jsi mohl sem připsat tu zprávu co ti to píše)

Nahoru Odpovědět
7.4.2016 19:28
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
jzvire01
Člen
Avatar
jzvire01:7.4.2016 19:31

Teď nejsem na PC, ale vybere to

SqlDataReader reader = com.ExecuteReader();
 
Nahoru Odpovědět
7.4.2016 19:31
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na jzvire01
Ondřej Štorc:7.4.2016 19:36

No to mi toho moc neřeklo :) Ale každopádně by jsi měl otevřít připojení k databázi (con.Open())
P.S.: Požívej tlačítko odpovědět

Nahoru Odpovědět
7.4.2016 19:36
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
jzvire01
Člen
Avatar
Odpovídá na Ondřej Štorc
jzvire01:7.4.2016 19:40

Dik zitra se na to podívám.

 
Nahoru Odpovědět
7.4.2016 19:40
Avatar
Odpovídá na jzvire01
Michal Štěpánek:7.4.2016 20:54

Kdyby sis přečetl tu chybu, kterou ti to píše, zjistil bys, že nemáš otevřené spojení

con.Open();
SqlDataReader reader = com.ExecuteReader();

a taky si nejsem jistý tím

polozka = reader.GetString(0);

já bych použil

polozka = reader[0].ToString();

a ten MessageBox ti podle mě zobrazí pouze první nalezenou položku...

Nahoru Odpovědět
7.4.2016 20:54
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
jzvire01
Člen
Avatar
Odpovídá na Michal Štěpánek
jzvire01:8.4.2016 7:04

Díky ale ted´ mi to vyhazuje:

An unhandled exception of type 'System.Data.SqlCli­ent.SqlExcepti­on' occurred in System.Data.dll

Additional information: An attempt to attach an auto-named database for file C: \Users\Jirka.JIRKA - HP\Documents\Visual Studio 2015\Projects\Win­dowsFormsAppli­cation7\Window­sFormsApplica­tion7\Database1­.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.

 
Nahoru Odpovědět
8.4.2016 7:04
Avatar
VitekST
Člen
Avatar
Odpovídá na jzvire01
VitekST:8.4.2016 7:15

"A database with the same name exists, or specified file cannot be opened, or it is located on UNC share."

S trochou znalosti angličtiny by si to mohl vyřešit sám, ale okay.
Dej si pozor na cestu k souboru.

Doporučoval bych ti soubor s DB strčit do adresáře s programem, získávat adresář s programem za běhu (viz. Application.Star­tupPath a Application.E­xecutablePath) a takto získanou cestu kombinovat s názvem souboru.

Můžeš si ten DB soubor přesunout i někam na kořen disku, aspoň nemusíš vypisovat dlouhou cestu. :)

 
Nahoru Odpovědět
8.4.2016 7:15
Avatar
jzvire01
Člen
Avatar
jzvire01:9.4.2016 9:44

Začal jsem znova a teď mi to píše:

An unhandled exception of type 'System.Data.SqlCli­ent.SqlExcepti­on' occurred in System.Data.dll
Additional information: Incorrect syntax near the keyword 'Table'

Tady je můj kód:

string polozka = "";
            SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\Jirka.JIRKA-HP\Documents\Visual Studio 2015\Projects\WindowsFormsApplication8\WindowsFormsApplication8\bin\Debug\Database1.mdf;Integrated Security=True;Persist Security Info=False;Connect Timeout=30");
            SqlCommand com = new SqlCommand("SELECT name FROM Table WHERE surname='Svoboda'", con);
            con.Open();
            SqlDataReader reader = com.ExecuteReader();
            while(reader.Read())
            {
                polozka = reader.GetString(0);
                label1.Text = polozka;
            }
            reader.Close();
            con.Close();
 
Nahoru Odpovědět
9.4.2016 9:44
Avatar
jzvire01
Člen
Avatar
jzvire01:9.4.2016 16:05

Poraďte prosím

 
Nahoru Odpovědět
9.4.2016 16:05
Avatar
hj.masek
Člen
Avatar
hj.masek:9.4.2016 17:10

myslim ze Table je spatne, pojmenuj to treba users =>

SELECT name FROM users WHERE surname='Svoboda'
 
Nahoru Odpovědět
9.4.2016 17:10
Avatar
jzvire01
Člen
Avatar
jzvire01:9.4.2016 17:13

Už jsem na to přišel musim dát tu tabulku do [Table]

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět
9.4.2016 17:13
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 12 zpráv z 12.