Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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
Ladislav Niderle:22.11.2017 11:37

AHoj potřebuji poradit, jak programově udělat funkci, která dostane jako vstup pole stringů a má vrátit dataset, který bude v sobě obsahovat libovolný počet tabulek s naplněnými daty.
Vstup vypadá následovně:
TABULKA1|5|par1|p­ar2|par3|par4|par5
DATA|1|2|3|4|5
DATA|1|5|2|4|5
TABULKA2|5|par1|p­ar2|par3|par4|par5
DATA|1|2|3|4|5
DATA|1|5|2|4|5

Musím si vytvořit potřeboný počet tabulek, kde vytvořím správné sloupce, což umím, ale problém je v tom, že mi to neustále padá ne to, že nemám nastavenou instanci na objekt.
Doufal jsem, že mi pomůže takto vytvářet jednotlivé tabulky:

DataSet data= new DataSet();
...
data.Tables[jmeno tabulky].Columns.Add(jméno sloupce);

Bohužel už při přidání prvního sloupce mi to spadne na chybu a já nevím čím to je.
Může mi někdo poradit, kde dělám chybu?

Děkuji

 
Odpovědět
22.11.2017 11:37
Avatar
jozef_i
Člen
Avatar
jozef_i:22.11.2017 11:45

Máte vytvorenú tabuľku DataTable a pridanú do DataSet-u?

 
Nahoru Odpovědět
22.11.2017 11:45
Avatar
Odpovídá na jozef_i
Ladislav Niderle:22.11.2017 11:49

Nemám, právě jsem doufal, že když to udělám pomocí to příkazu data.Tables[..]. tak to bude stačit na její vytvoření.

 
Nahoru Odpovědět
22.11.2017 11:49
Avatar
jozef_i
Člen
Avatar
jozef_i:22.11.2017 12:21

Ak si dobre pamätám musíte vytvoriť DataTable dt=new DataTable("me­noTabulky"); a pridať ho do DataSet-u
data.Tables.Ad­d(dt); a potom s tým pracovať data.Tables["me­noTabulky"]..­.. Nejak takto,pogúglite...

 
Nahoru Odpovědět
22.11.2017 12:21
Avatar
Jaroslav
Člen
Avatar
Odpovídá na Ladislav Niderle
Jaroslav:22.11.2017 15:02

Ako hovori jozef_i musis si najprv vytvorit tabulku.
V nej si vytvoris stlpce a pridas riadky. Tuto tabulku mozes pridat do uz vytvoreneho DataSetu.

Napr:

DataSet data = new DataSet();
DataTable myTable = new DataTable();
myTable.Columns.Add(jméno sloupce);
myTable.Rows.Add(hodnota);
data.Tables.Add(myTable);
 
Nahoru Odpovědět
22.11.2017 15:02
Avatar
Odpovídá na Jaroslav
Ladislav Niderle:22.11.2017 17:15

Něco takového už jsem nakonec dal dohromady, ale jak udělat, když do toho datasetu potřebuji těch tabulek dostat nespecifikované množství. Většinou půjde o jednu tabulku, ale je možné, že budu muset vytvořit třeba 2 nebo i 4 tabulky, tak nevím co se stane, když tu tabulku první vytvořím a naplním, pak to přiřadím do datasetu, tak jak zajistím potom při druhé tabulce, aby se ta první nevymazala, když bude pořád stejná proměnná.

 
Nahoru Odpovědět
22.11.2017 17:15
Avatar
Jaroslav
Člen
Avatar
Odpovídá na Ladislav Niderle
Jaroslav:22.11.2017 17:42

Pre kazdu tabulku si vytvoris novu instanciu DataTable a vsetky pridas do DataSetu.
Mozes to vlozit do cyklu, ktory bude mat tolko iteracii kolko budes potrebovat vytvorit tabuliek.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
22.11.2017 17:42
Avatar
Odpovídá na Jaroslav
Ladislav Niderle:23.11.2017 9:49

Předpokládám, že je chyba, když ten dataTable vložím do dataSetu a pak udělám nad tou tabulkou table.Clear(). T9m jsem si to totiž vymazal ty data. Snad to bude už v pořádku. Moc děkuji.

 
Nahoru Odpovědět
23.11.2017 9:49
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 8 zpráv z 8.