Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
krysta24
Člen
Avatar
krysta24:9.7.2019 8:46

Kontext: O databázích prakticky nic nevím, jdu na to metodou kousek videa od Inda + pokus/omyl. Vytvořil jsem si ve Visual Studiu (2017) .mdf datbázi, jednoduchý seznam knih s nějakými parametry, pro program ověřující validitu výběru knih k maturitě. Přidával jsem další a další, ale samozřejmě ikdyž jsem šel CTRL + C/V, tak jsem něco nakopíroval špatně atd.

Dotaz: Do databáze mi jde přidal další položky, ale nejde mi editovat položky třeba uprostřed. Dostanu hlášku "No row was updated. Ther row value(s) updated or deleted either do not make the row unique or they alter multiple rows(43)" Vzhledem k tomu, že je tam vše jen jednou, tak je problém, že to upravuje více řad, ale vůbec nevím co s tím. Je nějaký způsob, jak upravit položku?

Vedlejší dotaz: Když databázi použiju, jako zdroj dat pro ComboBox, tak mi taky nejde upravovat. A musel jsem to spojení smazat a pak znova vytvořit. Není nějaká možnost ho jen dočasně vypnout? (hláška něco ve smyslu connection is closed)

Předem díky za rady.

Zkusil jsem: Googlit bez valného úspěchu

Chci docílit: Jednoduché databáze knih s parametry, podle se kterými bych mohl dál pracovat.

 
Odpovědět
9.7.2019 8:46
Avatar
Jaroslav Smrž
Tvůrce
Avatar
Odpovídá na krysta24
Jaroslav Smrž:9.7.2019 10:45

Jakym zpusobem se snazis updatovat zaznam? Pomoci nejakeho CRUD systemu nebo primo ve VS v server exploreru? Jaky typ databaze? MsSQL?

Editováno 9.7.2019 10:46
Nahoru Odpovědět
9.7.2019 10:45
/* Life runs on code */
Avatar
krysta24
Člen
Avatar
Odpovídá na Jaroslav Smrž
krysta24:9.7.2019 10:46

Přímo ve VS

 
Nahoru Odpovědět
9.7.2019 10:46
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:9.7.2019 10:55

VS nepouzivam.
Jak to tak ctu, tak jsem i rad :)

Php / MySql - kdyz si udelas php program a pripojis ho na mysql databazi, tak s databazi pracujes pomoci sql prikazu. Tabulky v databazi se daji normalne exportovat do excelu (csv), totez import. A nebo se da pouzit probram phpMyAdmin nebo jiny, ktery umoznuje editovat primo databazi, tabulku klikanim bez nutnosti znat sql prikazy.

Cili, predpokladam, ze nejake takove veci jdou i u tebe.
Predpokladam, ze ve VS mas objekt, treba combobox. Objekt ma jeden z parametru data-source. Ty mu tam zadas tu databazi a nejaky prikaz, ktery data filtruje na konktretni sloupce.
Nevim, jak dalece je VS rozvinute, ale mela by byt moznost zmenit toto nastaveni. Ale asi jen odpojit od zdroje dat nepujde. To bych pouzil prave smazani.

Hele, a nemohl bys jako zdroje dat pouzit excelove sheety?
A nebo, nemuzes pouzit MsSql?
A nebo, nemuzes pouzit Csv (ktere lze editovat v excelu)?
Nevim, jak moc pujde s tou .mdf databazi pracovat a tak. Viz ten phpMyAdmin. Predpokladam, ze na editaci databaze mas nejaky program a needitujes plain text nejakeho souboru pres ctrl+c / v. Vetsinou, kdyz ma soubor exotickou priponu, mdf a pod, tak pouziva i specialni strukturu, nezobrazitelne znaky. Proto bych doporucil csv/text, to se da editovat i v note-padu a nebo v excelu jako tabulka.
(ale jen hadam)

 
Nahoru Odpovědět
9.7.2019 10:55
Avatar
Jaroslav Smrž
Tvůrce
Avatar
Odpovídá na krysta24
Jaroslav Smrž:9.7.2019 12:29

Otevři si Microsoft SQL Server (samostatný program) a zkus updatovat záznam v něm. Patrně někde dochází k nedostatečnému oprávnění pro editaci záznamu nebo chybě ve spojení. Zkus sem hodit nějaké screeny ze server exploreru, abych věděl, jak to vypadá a jak postupuješ.

Nahoru Odpovědět
9.7.2019 12:29
/* Life runs on code */
Avatar
Jaroslav Smrž
Tvůrce
Avatar
Odpovídá na krysta24
Jaroslav Smrž:9.7.2019 12:33

Ještě mě napadá, nemáš tam náhodou duplicitní ID? To by vše vysvětlovalo. Hoď sem strukturu databáze a budeme ti moci lépe poradit.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
9.7.2019 12:33
/* Life runs on code */
Avatar
krysta24
Člen
Avatar
Odpovídá na Jaroslav Smrž
krysta24:9.7.2019 15:44

Díky, to je asi ono. Chybělo mi tam ID, myslel jsem, že jako ID bych použil přímo jméno té položky. Asi to ale nebyl moc dobrý nápad.

Jiný způsob by byl určitě taky možný, ale tohle mi teď přijde, jako přijatelné řešení.

 
Nahoru Odpovědět
9.7.2019 15:44
Avatar
Jaroslav Smrž
Tvůrce
Avatar
Odpovídá na krysta24
Jaroslav Smrž:9.7.2019 19:02

Zaznamy je dobre cislovat ve sloupci ID a nastavit mu auto increment. To znamena, ze kdykoliv pridas novy zaznam, automaticky ziska sve jedinecne ID podle ktereho pak muzes pracovat s jednotlivymi zaznamy s minimalni zatezi databaze.

Nahoru Odpovědět
9.7.2019 19:02
/* Life runs on code */
Avatar
Odpovídá na Jaroslav Smrž
don.jarducius:11.7.2019 8:11

Záleží na tom, kde je dobré aby vznikal primární klíč...

  1. buď v DB - zde se hodí číslo s autoinkrementem
  2. v aplikaci - zde se používá Guid a číslo s autoinkrementem se zde vůbec nehodí
Nahoru Odpovědět
11.7.2019 8:11
Ten kdo nechce hledá důvod, ten kdo chce hledá způsob
Avatar
Odpovídá na Peter Mlich
don.jarducius:11.7.2019 8:14

Nechceš se začít vyjadřovat k dotazům pod které se vyjadřuješ?
Všiml jsem si, že všude bezhlavě cpeš všem PHP a dost často nenapíšeš nic k tématu, které se řeší...

Nahoru Odpovědět
11.7.2019 8:14
Ten kdo nechce hledá důvod, ten kdo chce hledá způsob
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 10 zpráv z 10.