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
Jan Svoboda
Člen
Avatar
Jan Svoboda:5.2.2024 13:36

Ahoj,
no úplně jsem se v tom zamotal.

V tomto kurzu už v lekci č. 2 "Vytvoření lokální databáze" se poprvé objevuje problém dvou rozdílných názvů databáze. SlovnicekDB a SlovickaDB. Nejdřív jsem myslel, že je to kvůli tomu, abychom si vyzkoušeli různé způsoby vytvoření databáze. Později jsem došel k názoru, že to je zřejmě překlep, ale potom mě vážně dostalo, když se stejná problematika objevuje i v této lekci.

Teď tedy absolutně nerozumím, zdali máme mít vytvořené 2 databáze s rozdílnými názvy, nebo se jedná znovu o překlep. V přiložených řešeních ke stáhnutí jak z této lekce č.4, tak z lekce č.2, se ani v jednom řešení nevyskytují dvě rozdílné databáze. Ve složkách vidím pouze komponenty databáze SlovickaDB. Nikde se však nevyskytuje SlovnicekDB.

Dále... V této lekci jsou dva odstavce zvané Příklad 1 a Příklad 2.
V příkladu 1 se znovu vyskytuje ten problém s názvem databáze => csb.InitialCatalog = "SlovnicekDB";
V příkladu 2 je psáno: Otestujte spojení s databází s pomocí připojovacího řetězce z příkladu 1. Logicky by člověk usoudil, že se tedy jedná o string pripojovaciRetezec z příkladu 1, avšak v kódu je pro vytvoření instance třídy SqlConnection jako parametr použit string connectionString, tedy string který byl deklarován na začátku tohoto článku pomocí vlastnosti SlovickaDB.Con­nectionString

Takže tedy, můžete mi prosím objasnit, jestli se skutečně jedná o dvě různé databáze, nebo jsou to několikrát opakované překlepy a článek(články) je tedy nutné opravit?

Pak se chci zeptat, jaký je tedy rozdíl mezi řetězcem získaným z vlastnosti Properties.Set­tings.Default­.(databáze)Con­nectionString
a řetězcem vytvořeným přes třídu SqlConnection­StringBuilder?
Protože při pokusu o otevření spojení mi funguje pouze řetězec získaný z vlastnosti, ale při použití řetězce získaného z builderu mi program spadne s chybou login failed viz přiložený obrázek.. (pro upřesnění, jak lze vidět na obrázku, mám ve svém kódu použito csb.InitialCatalog = "SlovickaDB"; tedy databáze, která skutečně existuje)

Nakonec jsem si ještě povšimnul rozdílu, že v tomto článku je použito csb.DataSource = @"(LocalDB)\MSSQLLo­calDB"; kdežto v článku č.2 při vytváření databáze je použito (localdb)\MSSQLLo­calDB tedy název mezi závorkami je psán malými písmeny.. má to nějaký důvod?

 
Odpovedať
+1
5.2.2024 13:36
Avatar
Jan Svoboda
Člen
Avatar
Odpovedá na Jan Svoboda
Jan Svoboda:5.2.2024 14:18

Na jedno jsem si zrovna teď odpověděl sám. U příkladu získání připojovacího řetězce pomocí třídy SqlConnection­StringBuilder (odstavec Příklad 1) jsem doplnil ještě příkaz

csb.AttachDBFilename = @"|DataDirectory|\SlovickaDB.mdf";

Teď už i tento připojovací řetězec funguje při otevření připojení k databázi. Zřejmě to tedy v článku chybí..
Ano vím, že je v článku uvedeno, že k připojení k lokální databázi řetězec musí obsahovat AttachDBFileName, ale hodilo by se, kdyby tento příkaz v daném příkladu byl vepsaný.

 
Odpovedať
+1
5.2.2024 14:18
Avatar
mi.ku.gubi
Člen
Avatar
mi.ku.gubi:20. januára 23:13

Přijde mi to dost zmatečný a chtělo by to aktualizovat na současný .NET

 
Odpovedať
20. januára 23:13
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é 3 správy z 53.