WPF - Ukládání hodnot do řádku Accessu – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

WPF - Ukládání hodnot do řádku Accessu – .NET – Fórum – Programujte.comWPF - Ukládání hodnot do řádku Accessu – .NET – Fórum – Programujte.com

 

4. 5. 2020   #1
-
0
-

Ahoj,

vytvořil jsem si jednoduchou aplikace, kde ukládám hodnoty do databáze v Accessu.

Hodnoty se mi sice uloží, ale bohužel do nově vytvořených řádků, přitom chci všechny do jednoho (logicky).

Nevím postup, jak místo insertu nahradit update tak, aby se mi nevytvářel nový řádek.

V odkazu níže můžete vidět sloupce mé databáze a také moji aplikaci, abyste pochopili, co chci.

Moje aplikace: https://ctrlv.cz/k1VF
Moje sloupce v databázi:

|Kancelář | Formát papíru | Počet balíků | Chci donést | Poznámka|

a můj zdrojový kód:   

private void Objednatbtn_Click_1(object sender, RoutedEventArgs e)
        {
            OleDbConnection con = new OleDbConnection();
            con.ConnectionString = ConfigurationManager.ConnectionStrings["DonaskaPapiru"].ToString();
            con.Open();
            OleDbCommand cmd = new OleDbCommand();
            cmd.CommandText = "insert into [Uzivatele](Kancelar)Values(@nm)";
            cmd.Parameters.AddWithValue("@nm", kancelartxt.Text);
            cmd.Connection = con;

            int a = cmd.ExecuteNonQuery();

            if (a > 0)
            {
                MessageBox.Show("Zapsalo se A");
                this.Close();
            }

Také si nevím rady, jak zapíšu do databáze hodnoty z radiobuttonu a checkboxu.
Prosím o radu, děkuji mockrát. JH

Nahlásit jako SPAM
IP: 178.255.168.–
gna
~ Anonymní uživatel
1182 příspěvků
4. 5. 2020   #2
-
0
-

Obecně problém UPDATE vs. INSERT jde řešit tzv. Upsertem (MERGE), ale tím se asi zatím netrap.

Jestli to správně chápu, tak tam chceš mít jediný záznam. To je trošku nesmysl, spíš bych to viděl na X objednávek s různým stavem zpracování/vyřízení (a ty teprve čekající na zpracování budou editovatelné). Ale to je celkem jedno, princip bude stejný.

Typicky v tabulkách bývá ještě sloupec ID, který má automaticky rostoucí unikátní hodnotu. Nenastavuješ ji sám, to dělá server automaticky (takže ji nebudeš dávat do insertu apod.). Takže uděláš SELECT a když ti to něco najde, tak hodnoty zobrazíš, zedituješ a zaktualizuješ pomocí UPDATE...WHERE ID=<nalezeneid>. Když ti to nic nenajde, tak zobrazíš nulové hodnoty a po vyplnění uděláš INSERT.

Hodnota checku a radia je v property .Checked.

Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 30 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý