NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
m.zimcik
Člen
Avatar
m.zimcik:22.4.2016 17:22

Dobrý den,

potřeboval bych poradit s jednou věcí, v mé aplikaci využívám tabulku s názvem prehled, která se zkládá z:

ID int primární klíč
Doklad nvarchar  
MD nvarchar  
Dal nvarchar  
Cinnost nvarchar  
Castka float  
Datum datetime  

Dále používám tabulky prehledDetail která se skládá z:

ID int - primární klíč
detailText nvarchar  
prehled_ID int NULL cizí klíč

prehled_ID je nastaven jako foreign key (cizí klíč). Jedná se o to, že ta druhá tabulka je dodělávána v mé aplikaci později a je prázdná. V tabulce prehled jsou už zapsáná data (zaúčtované položky). Pokaždé v mé aplikaci po kliknutí na ID z první tabulky se mi v novém okně otevře výpis zaúčtované položky podle ID. Potřebuju poradit s SQL dotazem pro vkládání, který na základě daného ID zaúčtované položky bude používat stejné ID pro cizí klíč v druhé tabulce, neboli vložím poznámku z textového pole, kde prehled_ID se bude rovnat ID z tabulky prehled.

Díky všem za ochotu poradit ;)

 
Odpovědět
22.4.2016 17:22
Avatar
Odpovídá na m.zimcik
Neaktivní uživatel:22.4.2016 17:29

Pokud používáš EF pak se klíč u objektu přehled nastaví sám na nové id, které jen vybereš :)

var prehled = new Prehled() { Doklad = ..., MD = ..., ... };
context.AddObject(prehled);
context.SaveChanges();
var id = prehled;
Nahoru Odpovědět
22.4.2016 17:29
Neaktivní uživatelský účet
Avatar
m.zimcik
Člen
Avatar
Odpovídá na Neaktivní uživatel
m.zimcik:22.4.2016 17:36

Mohl bych se zeptat co jsi myslel tim EF? Taky sem mohl napsat, ze se jedna o apku na webu, a dany dotaz je vlastne v backendu v C#

 
Nahoru Odpovědět
22.4.2016 17:36
Avatar
Odpovídá na m.zimcik
Neaktivní uživatel:22.4.2016 18:33

Samozřejmě mohl - Entity Framework

Nahoru Odpovědět
22.4.2016 18:33
Neaktivní uživatelský účet
Avatar
Odpovídá na m.zimcik
sadlomaslox25:22.4.2016 21:52

takze jestli to chapu spravne tak mas v jednom okne/strance zadavaci policka pro Doklad,MD,DAL,... a detailText a chces udelat to ze kdyz kliknes na tlacitko ulozit tak chces aby se ti ulozili Doklad,MD,... do tabulky jedna takovym zpusobem aby se ti vratilo ID posledniho vlozeneho zaznamu tak aby si mohl ulozit detailText stimto ID do tabulky dva?

pokud ano tak "Insert into prehled values (...); SELECT SCOPE_IDENTITY()" a provedes to pres SqlCommand.Exe­cuteScalar. prakticky stejne to co chces je asi popsane primo v dokumentaci k tomuto prikazu :) https://msdn.microsoft.com/….100%29.aspx

 
Nahoru Odpovědět
22.4.2016 21:52
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 5 zpráv z 5.