Diskuze: MS SQL INSERT dotaz

C# .NET .NET (C# a Visual Basic) MS SQL INSERT dotaz American English version English version

Avatar
m.zimcik
Člen
Avatar
m.zimcik:

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. dubna 17:22
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na m.zimcik
Jiří Gracík:

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. dubna 17:29
Creating websites is awesome till you see the result in another browser ...
Avatar
m.zimcik
Člen
Avatar
Odpovídá na Jiří Gracík
m.zimcik:

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. dubna 17:36
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na m.zimcik
Jiří Gracík:

Samozřejmě mohl - Entity Framework

Nahoru Odpovědět 22. dubna 18:33
Creating websites is awesome till you see the result in another browser ...
Avatar
Odpovídá na m.zimcik
sadlomaslox25:

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. dubna 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.