Diskuze: C# a Access databáze

C# .NET .NET (C# a Visual Basic) C# a Access databáze American English version English version

Avatar
johny
Neregistrovaný
Avatar
johny:

Ahoj, prosím doporučte nějaký kvalitní seriál článků, kde najdu jak správně postupovat pro připojení a využívání Access databáze. Doteď se mi podařilo ji ve WPF aplikaci načíst, do dvou comboBoxů natáhnout po jednom sloupci z dvou různých tabulek, ale co se mi nedaří je následující:

pokud v komboBoxu vyberu nějakou položku, řekněme na druhém řádku v tabulce databáze ze sloupce Item, tak potřebuji, aby se automaticky do textuBoxu načetla hodnota k dané položce z vedlejšího sloupce tabulky - ze sloupce Details (z toho řádku, který byl právě vybrán comboBoxem). Příklad takový, že jeden sloupec obsahuje seznam modelů aut a druhý sloupec vždy informaci o konkrétním modelu. A pokud vyberu v comboBoxu nějaký model, textBox má zobrazit informace o něm.

Potřebuju tedy tip jednak an to, jak se pohybovat v tabulce databáze. Pak určitě taky na to, jak co nejelegantněji zjišťovat a mít informaci o tom, který řádek z tabulky je právě v daném comboBoxu vybrán.

Díky za každou radu.

 
Odpovědět 8.12.2012 21:53
Avatar
matesax
Redaktor
Avatar
Odpovídá na johny
matesax:

DataGridView - binding... Je to datová tabulka, kde nepotřebuješ více, jak 3 řádky kódu a přitom s ní můžeš měnit veškerá data v tabulce na kterou se napojíš - binding. Lze updatovat, mazat, přidávat, řadit podle sloupce,... Navíc binding uděláš snadno pomocí LINQ - chceš-li udělám na to tutorial...

dataGridView.DataSource = výsledek LINQ dotazu - etc :)
 
Nahoru Odpovědět 8.12.2012 22:01
Avatar
johny
Neregistrovaný
Avatar
johny:

Díky, už se dívám co a jak s těmy Gridy. Databázi z Accessu jsem načetl pomocí VS v Server Exploreru, takže musím zjistit jak dostat takto načtenou databázi do DataGridu. LINQ znám, používám často. Zatím díky.

 
Nahoru Odpovědět 8.12.2012 22:32
Avatar
matesax
Redaktor
Avatar
Odpovídá na johny
matesax:

Co? - máš normálně soubor - a k němu ConnectionString. Vytvoříš Connection a pomocí LINQ vytáhneš tabulku - to dáš do DataSource...

 
Nahoru Odpovědět 8.12.2012 22:34
Avatar
johny
Neregistrovaný
Avatar
johny:

Můžeš mi prosim tě dát nějaký odkaz na ucelený návod, jak připojit accdb (access)? Potřebuju si to projít a nemám na to pořádnou literaturu a ani času moc ne.

 
Nahoru Odpovědět 8.12.2012 22:54
Avatar
matesax
Redaktor
Avatar
Odpovídá na johny
matesax:

OK - tak to raději vezmu přes DataSet:

Do DataSet přetáhni tabulku, v Design části najdi v ToolBoxu Data - tam DataSet - poklepej - zvol první možnost - nastav na tvůj DataSet soubor a pak tu tabulku vytáhni:

dataGridView1.DataSource = primaryDBDataSet1.MyTable;

A při ukončení si uložíš stav...

Nebo:

http://www.codeproject.com/…-it-s-dataso

A použití dotazu jako source:

IEnumerable<DataRow> query =

from order in primaryDBDataSet1.MyTable.AsEnumerable()
where xxx
select order;

dataGridView1.DataSource = query;
Editováno 9.12.2012 7:28
 
Nahoru Odpovědět 9.12.2012 7:24
Avatar
matesax
Redaktor
Avatar
 
Nahoru Odpovědět 9.12.2012 7:24
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 7 zpráv z 7.