Získej svůj iPhone v nové soutěži! Získej svůj iPhone v nové soutěži!
Nová překladatelská soutěž ITnetwork.cz o telefon iPhone, sluchátka Beats a další věcné ceny za 4 hodiny práce.
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: c# dataset a datatable

C# .NET .NET (C# a Visual Basic) c# dataset a datatable American English version English version

Aktivity (3)
Avatar
niderle.l
Člen
Avatar
niderle.l:22. listopadu 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. listopadu 11:37
Avatar
jozef_i
Člen
Avatar
jozef_i:22. listopadu 11:45

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

 
Nahoru Odpovědět 22. listopadu 11:45
Avatar
niderle.l
Člen
Avatar
Odpovídá na jozef_i
niderle.l:22. listopadu 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. listopadu 11:49
Avatar
jozef_i
Člen
Avatar
jozef_i:22. listopadu 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. listopadu 12:21
Avatar
Jaroslav
Člen
Avatar
Odpovídá na niderle.l
Jaroslav:22. listopadu 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. listopadu 15:02
Avatar
niderle.l
Člen
Avatar
Odpovídá na Jaroslav
niderle.l:22. listopadu 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. listopadu 17:15
Avatar
Jaroslav
Člen
Avatar
Odpovídá na niderle.l
Jaroslav:22. listopadu 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í
+1 bodů
Řešení problému
 
Nahoru Odpovědět 22. listopadu 17:42
Avatar
niderle.l
Člen
Avatar
Odpovídá na Jaroslav
niderle.l:23. listopadu 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. listopadu 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.