|
[Grafika]
[WebTip]
[Fotografování]
[Galerie]
[MujMac]
[Printing]
|
|||||||||
![]() |
||||||||||
|
|
|||||||||
Diskuzní forum: .NetTéma diskuze: Diskuze o technologii .NET; C# atd.Tip: nemáte rádi v textu smajlíky? Ruší vaše zdrojové kody? Vypněte si je! (Moje nastavení / Nastavení soukromí) LINQ + SQL + datagridview - ulozeni zmen do db
Vloženo uživatelem: Neregistrovaný uživatel: fido84 (IP uloženo)
Datum: 16. 04. 2008 03:02
Mam db s ulozenyma procedurama. Spojeni s db mam pres LINQ.
Z db bez problemu nactu do datagridu data. Kdyz zmenim zaznamy v gridu - nejake smazu, nejake pridam a nasledne potvrdim metodou SubmitChanges(), tak se do db ulozi pouze zmeny zaznamu, odstranene a nove zaznamy se v db neobjevi.
Nevite nekdo, jak na to, nebo v cem muze byt chyba? RE: LINQ + SQL + datagridview - ulozeni zmen do db
Vloženo uživatelem: RSTEIN - uživatel již zaslal 106 příspěvků (IP uloženo)
Datum: 16. 04. 2008 12:17
Tak tady se da jen tipovat => podle me nesdilite stejny Datacontext pro vsechny operace. Jestlize se jedna o jednothreadovou Windows forms aplikaci, klidne vytvorte jeden globalni (singleton) kontext. Zdravim Rene Stein http://blog.renestein.net Příspěvek zaslán emailem Re: RE: LINQ + SQL + datagridview - ulozeni zmen do db
Vloženo uživatelem: Neregistrovaný uživatel: fido84 (IP uloženo)
Datum: 16. 04. 2008 13:14
Mam vytvorenou 1 instanci DataContextu, nad kterou provadim dane operace.Kdyz zavolam deleteOnSubmit(...), tak zaznam smaze.
Pripada mi, jak by z kolekce odstranil zaznam, ale neponechal si informaci, ze ho ma odstranit i z db. RE: RE: LINQ + SQL + datagridview - ulozeni zmen do db
Vloženo uživatelem: RSTEIN - uživatel již zaslal 106 příspěvků (IP uloženo)
Datum: 16. 04. 2008 13:25
Zkusil jste se podivat, jak vypada changeSet zasilany do databaze? Patricne kolekce vrati metoda GetChangeSet DataContetxu. Zdravim Rene Stein http://blog.renestein.net Příspěvek zaslán emailem Re: RE: LINQ + SQL + datagridview - ulozeni zmen do db
Vloženo uživatelem: JardaJirava (Jarda Jirava) - uživatel již zaslal 215 příspěvků (IP uloženo)
Datum: 16. 04. 2008 13:31
Ahoj, a jak je napojeny datagrid? Jedes pres bindingsource a odchytavas si nove pridane a smazane objekty a ty predavas datacontextu? DataContext umi drzet stav jen objektu, ktere "pres nej prosly" a to jen zmeny. Nikoliv uz zadost o jejich vymaz, to mu musis dat sam najevo, ze neco chces odebrat. Pekny den Jarda Jirava, Microsoft MVP - Client Application, MCAD, MCPD http://jirava.net/blog Příspěvek zaslán emailem Re: RE: LINQ + SQL + datagridview - ulozeni zmen do db
Vloženo uživatelem: Neregistrovaný uživatel: fido84 (IP uloženo)
Datum: 16. 04. 2008 15:25
V tom bude asi ten problem. Mam to napojene pres bindingsource.
Jeslti muzu jeste poprosit o radu... Jak nejlepe zjistim, ktery zaznam se maze/pridava? Dekuji moc, Petr Maslan RE: RE: LINQ + SQL + datagridview - ulozeni zmen do db
Vloženo uživatelem: RSTEIN - uživatel již zaslal 106 příspěvků (IP uloženo)
Datum: 16. 04. 2008 15:51
Na BindingSource mate udalost ListChanged. Pri vyvolani udalosti zjistite v e. ListChangeType, jaka zmena nastala a pote muzete zjistit index polozky, ktere se tyka (e.newIndex). V podkladovem listu (BindingSource.List) muzete polozku pres indexer dohledat a poslat jako argument metodam DataContextu. Zdravim Rene Stein http://blog.renestein.net Příspěvek zaslán emailem Re: RE: RE: LINQ + SQL + datagridview - ulozeni zmen do db
Vloženo uživatelem: Neregistrovaný uživatel: fido84 (IP uloženo)
Datum: 16. 04. 2008 16:10
Diky moc... Re: RE: RE: LINQ + SQL + datagridview - ulozeni zmen do db
Vloženo uživatelem: Neregistrovaný uživatel: fido84 (IP uloženo)
Datum: 16. 04. 2008 17:23
Presto jsem narazil jeste na problem u mazani.
Kdyz odstranim zaznam, pak pri udalosti ListChanged jiz tento zaznam neni v BindingSource.List, takze nemam moznost zjistit, ktery zaznam se odstranil RE: RE: LINQ + SQL + datagridview - ulozeni zmen do db
Vloženo uživatelem: RSTEIN - uživatel již zaslal 106 příspěvků (IP uloženo)
Datum: 16. 04. 2008 17:53
Obecne si lze drzet kopii odkazu v jinem listu, ktery neni pripojen k prvku a pak ho podle indexu dohledate. Jestlize mate DatagridView, muzete odchytavat udalost DataGridViewRowsRemoved a v ni mate dostupny RowiIndex mazaneho radku. Pres mygrd.Rows[e.RowIndex] se dostanete k radku => podkladovy objekt radku je ve vlastnosti row.DataBoundItem. Zdravim Rene Stein http://blog.renestein.net Příspěvek zaslán emailem Re: LINQ + SQL + datagridview - ulozeni zmen do db
Vloženo uživatelem: Neregistrovaný uživatel: Libor Nenadál (IP uloženo)
Datum: 04. 07. 2008 09:54
Já mám možná trochu jiný problém - vygeneroval jsem si O/R entity přes sqlmetal (používám SQL Server CE) a když si vytvořím entitu přes new Entita(), tak ačkoli na ni nezavolám InsertOnSubmit(), tak je asi automaticky do data contextu přidaná a následně mi pak při SubmitChanges() vyletí exception, protože jsem nenaplnil mandatory pole. Nevíte někdo, jak to přesně funguje?
Novou entitu vytvářím proto, abych si na ni nabindoval form, ale když mi pak uživatel nevyplní mandatory pole, tak tu entitu chci prostě zahodit a neposílat do databáze. Re: LINQ + SQL + datagridview - ulozeni zmen do db
Vloženo uživatelem: JardaJirava (Jarda Jirava) - uživatel již zaslal 215 příspěvků (IP uloženo)
Datum: 04. 07. 2008 10:00
Ahoj, a nepridas danou entitu do EntitySetu? Mozna by potesil kod, ktery toto dela, ale nekde tu entitu s contextem nejspise provazujes. Pekny den Jarda Jirava, Microsoft MVP - Client Application, MCAD, MCPD http://jirava.net/blog Příspěvek zaslán emailem Toto fórum je provozováno také jako emailová konference s e-mailovou adresou net [a] builder.cz. Toto je neredigovaná a nemoderovaná diskuse čtenářů serveru Builder.cz. Redakce ani provozovatel serveru za obsah jednotlivých příspěvků nenese zodpovědnost. |