Veľkonočná akcia je tu a s ňou aj extra kredity ZADARMO na náš interaktívny e-learning. Dobij si teraz kredity a posuň sa vo svojej kariére vpred!
Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

Diskusia – 4. diel - Pripojená databázová aplikácia v C# .NET

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
Luboš
Člen
Avatar
Odpovedá na Milan Křepelka
Luboš:1.11.2015 23:17

Kdyby to bylo tak jak píšeš tak to chápu, jenomže jde o to, že mi DB uvnitř VS ukazuje už přeformátovaná data do češtiny. Takže dáš copy/paste a chceš vyhledat to co vidíš, jenže ti to nepůjde protože je to vnitřně uložené jinak a pokud neznáš dobře vnitřní nastavení jsi víš kde.

Nevíš o nějakém článku(knize) kde by se tímto tématem někdo stručně zabýval?

 
Odpovedať
1.11.2015 23:17
Avatar
Luboš
Člen
Avatar
Odpovedá na Luboš
Luboš:1.11.2015 23:24

Ještě dodávám: Jde o to, že klient je obvykle uživatel aplikace nikoliv její tvůrce.

 
Odpovedať
1.11.2015 23:24
Avatar
Milan Křepelka
Tvůrce
Avatar
Odpovedá na Luboš
Milan Křepelka:2.11.2015 6:25

Asi nejsme na stejné vlně. Běžně pro SQL se datum příkazů zadává takt jak psal JOF. Nicméně tak jak to máš, tak to je stejně nedobře a takhle by se to dělat nemělo. Ten tvůj příkaz má vypadat takto

SELECT [NazevPolozky] FROM [Tabulka3] WHERE [Tabulka3].[Datum]=@MujDatumParam

a do commandu naplnit parametr, podobně jak je v 5.tém dílu a s tím, že do parametru nacpeš, že to je datum a nastavíš už typovou promennou DateTime, takže nějakým formátem ala "jak vlastně" vypadá datum vůbec nebudeš muset zabývat

 
Odpovedať
2.11.2015 6:25
Avatar
Petr Vocel
Tvůrce
Avatar
Petr Vocel:21.5.2016 11:54

Musím upozornit na nesoulad mezi SQLConnection­StringBuilder a SqlConnection. První při vytváření obloží cestu k dat.file úvozovkami, což druhý nepředpokládá a zhavaruje. Alespoň ve verzi studia 2015. Jako důkaz přikládám program a výslednou obrazovku.

namespace SlovickaSQL
{
    class Program
    {

          static void Main(string[] args)
        {
            string pripojovaciRetezec2 = @"Data Source= (LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Uceni_SQL_MS-SQL\Database\SlovnicekDB.mdf; Integrated Security = True; Connect Timeout = 30";
            Console.WriteLine("Připojovací řetezec z vlastností\n {0}<<", pripojovaciRetezec2);
            using (SqlConnection pripojeni = new SqlConnection(pripojovaciRetezec2))
            {
                Console.WriteLine("Zkusím se připojit s tímto textem:\n={0}<<", pripojovaciRetezec2);
                pripojeni.Open();
                Console.WriteLine("Aplikace se úspěšně připojila k databázi.");
                pripojeni.Close();
                Console.WriteLine("Aplikace se úspěšně odpojila od databáze.");
            }
            // získání connect stringu <
            SqlConnectionStringBuilder csb = new SqlConnectionStringBuilder();
            csb.DataSource = @"(LocalDB)\MSSQLLocalDB";
            csb.AttachDBFilename = @"C:\Uceni_SQL_MS - SQL\Database\SlovnicekDB.mdf";
            csb.IntegratedSecurity = true;
            string pripojovaciRetezec1 = csb.ConnectionString;
            Console.WriteLine("Připojovací řetezec sestavený \n {0}<<", pripojovaciRetezec1);
            using (SqlConnection pripojeni = new SqlConnection(pripojovaciRetezec1))
            {
                Console.WriteLine("Zkusím se připojit s tímto textem:\n={0}<<",pripojovaciRetezec1);
                pripojeni.Open();
                Console.WriteLine("Aplikace se úspěšně připojila k databázi.");
                pripojeni.Close();
                Console.WriteLine("Aplikace se úspěšně odpojila od databáze.");
            }
            Console.ReadKey();

        }
    }
}

Výsledná obrazovka
Připojovací řetezec z vlastností
Data Source= (LocalDB)\MSSQLLo­calDB;AttachDbFi­lename=C:\Uce­ni_SQL_MS-SQL\Database\Slov­nicekDB.mdf; Integrated Security = True; Connect Timeout = 30<<
Zkusím se připojit s tímto textem:
=Data Source= (LocalDB)\MSSQLLo­calDB;AttachDbFi­lename=C:\Uce­ni_SQL_MS-SQL\Database\Slov­nicekDB.mdf; Integrated Security = True; Connect Timeout = 30<<
Aplikace se úspěšně připojila k databázi.
Aplikace se úspěšně odpojila od databáze.
Připojovací řetezec sestavený
Data Source=(Local­DB)\MSSQLLocal­DB;AttachDbFi­lename="C:\Uce­ni_SQL_MS - SQL\Database\Slov­nicekDB.mdf";In­tegrated Security=True<<
Zkusím se připojit s tímto textem:
=Data Source=(Local­DB)\MSSQLLocal­DB;AttachDbFi­lename="C:\Uce­ni_SQL_MS - SQL\Database\Slov­nicekDB.mdf";In­tegrated Security=True<<

Hláška
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:\Uceni_SQL_MS - SQL\Database\Slov­nicekDB.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.

 
Odpovedať
21.5.2016 11:54
Avatar
JOF
Tvůrce
Avatar
Odpovedá na Petr Vocel
JOF:22.5.2016 7:50

Ahoj,

v druhém případě máš v cestě k souboru nějaké mezery navíc - "...Uceni_SQL_MS - SQL...".
Nebude to tím?

 
Odpovedať
22.5.2016 7:50
Avatar
Petr Vocel
Tvůrce
Avatar
Odpovedá na JOF
Petr Vocel:22.5.2016 8:42

Ahoj,
máte pravdu. Nevím jak se mi tam dostaly, text jsem určitě odněkud kopíroval, ale po odstranění ve volacích parametrech pro bilder, je výsledek již bez úvozovek a vše prochází, tak jak má. Dík.
Petr

:-)
 
Odpovedať
22.5.2016 8:42
Avatar
Poggy
Člen
Avatar
Poggy:16.4.2017 14:30

Ahoj,

potřebuji poradi jak připojit SQL databázi v Server Expres ve VS 2015. Postupuji dle zdejšího návodu. Data Connection => Add Connection... Pak vyběhne tabulka kam bych měl zadat adresu databáze. Zkoušel jsem localhost\NOTEBOOK-DEL\SQLEXPRES, pak bez localhost, s localhost na konci a nic. Jak se k té dabazázi vytvořené v management studiu dostanu? Díky

 
Odpovedať
16.4.2017 14:30
Avatar
jozef_i
Člen
Avatar
jozef_i:16.4.2017 14:55

Tam treba zadať meno .mdf súboru databázy SlovnicekBD.mdf . Alebo použiť SQL server pripojenie na \Notebook-Del\SQLEXPRESS .

 
Odpovedať
16.4.2017 14:55
Avatar
Poggy
Člen
Avatar
Odpovedá na jozef_i
Poggy:16.4.2017 15:14

To jsem zkoušel také, zadal jsem: localhost\NOTEBOOK-DEL\SQLEXPRES­S\SlovnicekDB­.mdf a také nefunguje. Viz. screen. Funguje to jen když vytvořím SQL databázi zcela mimo mannagent studio v server explorer.

 
Odpovedať
16.4.2017 15:14
Avatar
nicknack
Člen
Avatar
nicknack:4.8.2017 10:30

2Poggy:
ahoj,
to první jsi měl dobře, jen jsi zapoměl na konci 2 SS -> aspon podle toho obrazku co jsi sem dal

 
Odpovedať
4.8.2017 10:30
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.

Zobrazené 10 správy z 53.