DataGridWiew   otázka

VB.NET, WinForms, Databáze

Prosí moc o radu:

ve VisualStudiu 2008:

mám vytvořenu vlastní dtb v acces/2007 (nebo i akualizované starší verze).Po vytvoření spojení (dataset) a vytvoření ostatních prvků vč. DatagridWiew, mi grid po spuštění vše zobrazí z vytvořené mdb tabulky a načte vše bez chyb. Jakmile však provedu změnu záznamu v gridu a změněný záznam chci uložit přes "BindingNavigator" s

tímto kódem:

 Private Sub ZapisnikBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ZapisnikBindingNavigatorSaveItem.Click
        Me.Validate()
        Me.ZapisnikBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.Hugo_JDataSet)
    End Sub

tak se objeví pro TableAdapterManeger.updateAll tato invalid.zpráva a zápis nelze změnit, ani uložit:

"Metoda Update vyžaduje při předání kolekce DataRow se změněnými řádky platnou událost UpdateCommand."

Pokud tuto vytvořenou databázi spustím v jiném zkušebním programu, tak se max. 1x povede změnu uložit, pak se znovu ohlásí výše uvedená chyba.

Ukládání nových záznamů je bez problémů.

Už jsem vyzkoušel všechny možné kroky, ale ukládání změn záznamu mi stále nefungují.

Děkuji předem za radu a pomoc

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tenhleten problém jsem měl taky, když jsem si hrál s databázemi. Následující řešení není z mé hlavy - postupně jsem se k němu dopracoval hledáním po internetu.

Základním nedostatkem je neexistující primary key v databázi. Automaticky vygenerovaný "update" má pak problém aktualizovat změněné řádky komponenty DataGridWiew.

Zkuste tedy přidat do tabulky sloupec s nějakým unikátním ID, popř. použijte stávající sloupec, který neobsahuje stejné hodnoty. Odstraňte původní spojení a vygenerujte nové.

Další poznatky najdete i tady na webu po vyhledání slova: "updatecommand".

Např. zde: http://www.vbnet.cz/forum-tema--3897-upd...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Moc a moc Vám děkuji za radu, hned to jdu vyzkoušet. Díky

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback