Forum » Programiranje » C# nasvet
C# nasvet
![](https://static.slo-tech.com/stili/avatar_gray.gif)
gsh ::
Kako iz tabele v DataSetu najhitreje izpisem vse n-terke, ki se pojavijo vec kot m-krat in stevilo pojavljanj posamezne n-terke?
Torej: imam tabelo v kateri so shranjeni nakupi, npr.:
id item1 item2 item3 item4
---------------------------------
1 sok kola pivo kruh
2 kruh pivo casopis sok
3 kola cips kruh sadje
4 cips kruh sadje pivo
...
...
Algoritem mora najprej poiskati vse 1-terke, ki se pojavijo vec kot m-krat in njihovo stevnost (kruh:4...).
Nato iz ustreznih 1-terk naredi kandidate za 2-terke (pari artiklov, ki so kupljeni hkrati - v isti vrstici v bazi).
Potem pogleda katere od-teh 2-terk sploh obstajajo v tabeli in kolikokrat.
Nato sledijo 3-terke...in tako naprej do n.
Rezultat je torej izpis vseh n-terk in njihove stevnosti npr.:
1-terke
-------
kruh: 10
cips: 13
mleko: 9
sadje: 7
kola: 8
2-terke
-------
kruh cips: 3
kola cips: 5
3-terke
-------
kruh cips kola: 3
A se komu sanja, kako bi slo to v eni zanki, da ni treba za vsak n svoje metode pisat?
Tnx...
LP, GSh
Torej: imam tabelo v kateri so shranjeni nakupi, npr.:
id item1 item2 item3 item4
---------------------------------
1 sok kola pivo kruh
2 kruh pivo casopis sok
3 kola cips kruh sadje
4 cips kruh sadje pivo
...
...
Algoritem mora najprej poiskati vse 1-terke, ki se pojavijo vec kot m-krat in njihovo stevnost (kruh:4...).
Nato iz ustreznih 1-terk naredi kandidate za 2-terke (pari artiklov, ki so kupljeni hkrati - v isti vrstici v bazi).
Potem pogleda katere od-teh 2-terk sploh obstajajo v tabeli in kolikokrat.
Nato sledijo 3-terke...in tako naprej do n.
Rezultat je torej izpis vseh n-terk in njihove stevnosti npr.:
1-terke
-------
kruh: 10
cips: 13
mleko: 9
sadje: 7
kola: 8
2-terke
-------
kruh cips: 3
kola cips: 5
3-terke
-------
kruh cips kola: 3
A se komu sanja, kako bi slo to v eni zanki, da ni treba za vsak n svoje metode pisat?
Tnx...
LP, GSh
![](https://static.slo-tech.com/stili/avatar_gray.gif)
ax3K ::
tako iz glave ne vem, ampak morda bi ti lahko razmislil o drugačnem designu podatkovne baze.
tvoja tabela:
verjetno ena vrstica predstavlja en recordset. Če bi bilo v prvem nakupu 5 živil, v drugem 20, v tretjem pa 300, potem bi vsi trije recordseti rabili prostor za 300 živil. torej 300*3=900 prostorčkov za 325 živil.
(če sem vse skupaj narobe razumel se opravičujem)
lp
AlienX
tvoja tabela:
id item1 item2 item3 item4
---------------------------------
1 sok kola pivo kruh
2 kruh pivo casopis sok
3 kola cips kruh sadje
4 cips kruh sadje pivo
...
...
verjetno ena vrstica predstavlja en recordset. Če bi bilo v prvem nakupu 5 živil, v drugem 20, v tretjem pa 300, potem bi vsi trije recordseti rabili prostor za 300 živil. torej 300*3=900 prostorčkov za 325 živil.
(če sem vse skupaj narobe razumel se opravičujem)
lp
AlienX
![](https://static.slo-tech.com/stili/avatar_gray.gif)
darkolord ::
Če imaš bazo v SQLu bi se morda bolj splačalo kar tam nardit kako 'Stored Procedure', ki bi ti vrnila tisto, kar si želiš...
![](https://static.slo-tech.com/stili/avatar_gray.gif)
zagy ::
DataSet je sestavljen iz DataTableCollection, DataTable pa ponuja metodo Select:
dataSet.Table[0].Select(....);
V to metodo lahko napišeš stavek podoben SQL Select stavku. Najbrž se da kaj takšnega spravit skupaj tudi kakšne bolj zahtevne stvari,
vsekakor pa nekaj takega kot:
DataRow[] rows = dataSet.Table[0].Select("item1 = sok");
Poglej dokumentacijo (pa tudi groups.google.com) za nadalnja navodila...
dataSet.Table[0].Select(....);
V to metodo lahko napišeš stavek podoben SQL Select stavku. Najbrž se da kaj takšnega spravit skupaj tudi kakšne bolj zahtevne stvari,
vsekakor pa nekaj takega kot:
DataRow[] rows = dataSet.Table[0].Select("item1 = sok");
Poglej dokumentacijo (pa tudi groups.google.com) za nadalnja navodila...
![](https://static.slo-tech.com/stili/avatar_gray.gif)
fr0sty ::
Jaz imam svoje podatke shranjene v Accessovi bazi, in do njih dostopam preko OleDbCommand. Glede na to, da v DataSet že dobim le tiste podatke ki jih želim, ti tukaj ne znam pomagati. Imaš pa tukaj link do MySql manuala, kjer imaš razloženo sintakso SQL ukazov....upam da kaj pomaga...
LP
LP
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Pametno nakupovanje (strani: 1 2 )Oddelek: Loža | 13298 (10997) | HappyPills |
» | Python - pomoč (strani: 1 2 3 )Oddelek: Programiranje | 18271 (9019) | black ice |
» | c# - mssql kombinacija / problem pri zapisu row-a v bazoOddelek: Programiranje | 1638 (1447) | darkolord |
» | [C#] ne dodaja podatkov v bazoOddelek: Programiranje | 1605 (1454) | alesp56 |
» | Ojačevalec 250WOddelek: Elektrotehnika in elektronika | 2213 (1981) | migič |