Práce s DataSet – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Práce s DataSet – .NET – Fórum – Programujte.comPráce s DataSet – .NET – Fórum – Programujte.com

 

Matěj Pácha0
Super člen
11. 4. 2007   #1
-
0
-

Potřeboval bych trošku osvětlit využití toolboxu DataSet k práci se souborem. Podle knihy MSVC# 2005 Krok za krokem jsem si už hrál s databází v MS SQL, ale myslím, že by to mělo jít i bez něj. Dejme tomu, že mám vstupní datový xml soubor vytvořený programem a chci ho po spuštění načíst do tabulky a pracovat s ním. Na MSDN jsem našel nějaký příklad, ale bohužel pro verzi pp. z roku 2000 a prostě to nefunguje, ani když jsem to intuitivně upravil.
Když zkusím vložit DataSet, vyžaduje připojení ke zdroji dat. V mém případě by to byl soubor, ale nenašel jsem xml. No prostě jsem z toho jelen. Nemáte někdo vhodnou radu, jak začít?

Nahlásit jako SPAM
IP: ...–
Ajem tíčr, andrgraund tíčr!
DeaLer+2
Hero
11. 4. 2007   #2
-
0
-
Nahlásit jako SPAM
IP: ...–
Dušan Janošík | web: djanosik.cz, @djanosik
Matěj Pácha0
Super člen
12. 4. 2007   #3
-
0
-

Tak přesně tohle jsem zkoušel a nešlo mi to. Ještě si s tím pohraju a kdyby něco, napíšu. Ale díky za odkaz :-)

Nahlásit jako SPAM
IP: ...–
Ajem tíčr, andrgraund tíčr!
DeaLer+2
Hero
12. 4. 2007   #4
-
0
-

To paashi: aha ... zkusím to taky

Nahlásit jako SPAM
IP: ...–
Dušan Janošík | web: djanosik.cz, @djanosik
Matěj Pácha0
Super člen
14. 5. 2007   #5
-
0
-

Tak jsem na to přišel. Sice to trvalo, ale stačilo najít ten správný příklad na MSDN.
Jde o to, že DataSet musí mít zdroj. Samozřejmě se dá všecko připojit za běhu, ale pro mě bylo výhodnější vytvořit všechno při vývoji. Nevím proč, ale musel jsem to udělat následovně (jen tak se vytvořil soubor zdrojXML.h, bez něhož se nenačte nový zdroj dat):
- Vytvořil jsem nový XSD soubor (datové schéma pro XML)
- V menu Project jsem tento XSD přidal pomocí "Add Existing Item"
- V panelu DataSources se objevil nový zdroj dat. V případě, že se neobjeví, kliknu na "Add new data source" a vyberu "Object". V nabídce by se měl zobrazit vložený XSD soubor (resp. jeho schéma). Pokud se neobjeví, je potřeba celý projekt znovu sestavit.
- Dál už se s dataSet pracuje normálně (např. jako při vazbě na SQL databázi)

Horší je to s vyhledáváním v měněné datové tabulce. Možná jsem si to moc zkomplikoval, ale mám tabulku uživatelů, do které se může kdykoliv přidat nový a kdykoliv stávající odebrat. Při zápisu nového uživatele se údaje zapíšou na konec XML bez ohledu na jeho pořadí. Vyhledávání pomocí DataView se uskutečňuje po seřazení dat v dataView (vlastnost Sort), ale data se neřadí v DataSet (nechápu proč). Takže když jsem vyhledal uživatele a zjistil index řádku v seřazené tabulce v dataView, následným dotazem na data v tom řádku v DataSet jsem dostal údaje z nesetříděné tabulky, takže data jiná. Nakonec jsem to vyřešil tak, že data vybírám z DataGridView, kde se řádky seřadí tak jak mají a index z hledání v DataView odpovídá správnému řádku v DataGridView.



int rowIndex = 0;
dataView1->Sort = "ID"; //"ID" je název sloupce, ve kterém se má hledat
rowIndex = dataView1->Find(textBox4->Text); //v textBoxu je hledaný výraz
dataGridView1->Rows[rowIndex]->Cells[1]->Value; //Toto je hodnota v buňce v řádku rowIndex a ve sloupci 2 (s indexem 1)

Nahlásit jako SPAM
IP: ...–
Ajem tíčr, andrgraund tíčr!
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 5 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý