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
tomas
Člen
Avatar
tomas:23.7.2013 15:27

Ahoj všem. Řeším problém s automatickým generováním command příkazů pro DB. Mám načtenou tabulku z DB do datasetu, kde s ní dále pracuji. V případě update nebo insertu pouzivám generátor nějak takle.

uzivateleZDB.da.UpdateCommand = uzivateleZDB.cmdBuilder.GetUpdateCommand();
            uzivateleZDB.da.Update(uzivateleZDB.dsSeznam.Tables["Uzivatele"]);

Tohle vše mě funguje. Problém nastane, když do datasetu přidám další tabulku. Další tabulkou je tabulka práva a ta nemá primární klíč(ten ale cmdBuilder vyžaduje). Jestliže spustím výše uvedený kód na generování Update příkazu, tak mě napíše, že dynamické generování SQL pro vlastnost UptateCommand není podporováno pro vlastnost SelectCommand, která nevrací žádné informace o sloupci klíče. Neřešil to už někdo z Vás?
Pro obrázek uvádím, že tabulka práva má sloupec id_uzivatele(jako cizí klíč z tabulky uživatelů, pak sloupec tabulka(definice tabulky pro které platí restrikce) a poslední sloupec je prava(co může uživatel s tabulkou provádět za operace). Obecně nabývá sloupec jen jedno číslo, kterým si definuji, jestli může uživatel do tabulky zapisovat, číst a mazat. Možná na to jdu spatně, třeba mě poradíte jiný způsob definice práv.

 
Odpovědět
23.7.2013 15:27
Avatar
tomas
Člen
Avatar
tomas:5.8.2013 16:50

Kdyby měl někdo stejný problém, tak jen pro uzavření dotazu jsem to vyřešil tak, že jsem do každé tabluky vložil jeden sloupec jako primární klíč. I když bych ho já na mé dotazy vůbec nepotřeboval. dataset ho prostě vyžaduje.

 
Nahoru Odpovědět
5.8.2013 16:50
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 2 zpráv z 2.