Forum » Izdelava spletišč » ASP trgovina - asp dictionary - Key vrednost - kako ga uporabiti za pomik Move v bazi podatkov?
ASP trgovina - asp dictionary - Key vrednost - kako ga uporabiti za pomik Move v bazi podatkov?
Joze_K ::
Na strani ASP101.com sem našel Shoppingcart.asp trgovinico. Je zelo simpl zato sem jo predelal za lastno rabo. Vendar je v primeru za izpis spremenljivk uporabljena CASE parameter funkcija in so te vrednosti fiksno definirane.
Sam ima ADO Accesovo bazo, jo lepo odprem, in lahko lepo z nje berem. Problem pa se pojavi ko se želim pomakniti na določen zapis?! vrednosti se vpisujejo v Dictionary object in sicer Key in vrednost za Key. Npr dictCart.Add KeyID IDCount (se pravi vpiše se nekako pozicija npr: 5 12
pomeni na ključu z imenom 5 je shranjena številka 12. Sedaj bi jaz rad to uporabil tako, da bi se pomaknil v moji bazici na mesto št. 5 in prebral še ostale podatke (tudi ceno/enoto)- ter na podlagi vrednosti v tem ključu preračunal stanje (npr. 12 krat 100 SIT)
Ko izpišem (procent =Key procent) mi izpiše 5, ko izpišem vsebino v tem ključu mi izpiše 12 (dictCart(Key) = 12) .
Ko pa želim narediti
query='select from vsebina order by id'
connStr=.........
rs.Open query, connStr, 3 , , adCmdText
in se v bazi želim pomakniti z
rs.Move Key pa mi predmet stalno da error
izpis. ADODB.Field
either or EOF is True
v datoteki imam npr. 30 zapisov
1.)Imam občutek da nekaj ne delam ok, zdaj ko takole razmišljam, ali je rs sploh record in z rs.move se prestaviš na nov rekord ali pa se z rs.move premikaš med polji v tem rekordu (kot nakazuje ta error)
2.) Ali je pa Key kakega takega formata (string, boolean,...) da ni število ki bi pomikalo...
sem pa žvek, a ne?
A imate kako idejo?
Sam ima ADO Accesovo bazo, jo lepo odprem, in lahko lepo z nje berem. Problem pa se pojavi ko se želim pomakniti na določen zapis?! vrednosti se vpisujejo v Dictionary object in sicer Key in vrednost za Key. Npr dictCart.Add KeyID IDCount (se pravi vpiše se nekako pozicija npr: 5 12
pomeni na ključu z imenom 5 je shranjena številka 12. Sedaj bi jaz rad to uporabil tako, da bi se pomaknil v moji bazici na mesto št. 5 in prebral še ostale podatke (tudi ceno/enoto)- ter na podlagi vrednosti v tem ključu preračunal stanje (npr. 12 krat 100 SIT)
Ko izpišem (procent =Key procent) mi izpiše 5, ko izpišem vsebino v tem ključu mi izpiše 12 (dictCart(Key) = 12) .
Ko pa želim narediti
query='select from vsebina order by id'
connStr=.........
rs.Open query, connStr, 3 , , adCmdText
in se v bazi želim pomakniti z
rs.Move Key pa mi predmet stalno da error
izpis. ADODB.Field
either or EOF is True
v datoteki imam npr. 30 zapisov
1.)Imam občutek da nekaj ne delam ok, zdaj ko takole razmišljam, ali je rs sploh record in z rs.move se prestaviš na nov rekord ali pa se z rs.move premikaš med polji v tem rekordu (kot nakazuje ta error)
2.) Ali je pa Key kakega takega formata (string, boolean,...) da ni število ki bi pomikalo...
sem pa žvek, a ne?
A imate kako idejo?
alesrosina ::
Hm. Ne kapiram cist kaj si hotu povedat. Dej prlep tocno, ker error ti vn vrze oz. dej link, da si mal pogledamo zadevco.
Joze_K ::
še enkrat poskusim razložiti. ASP trgovinca deluje po sistemu vpisa session podatka v dictionary. In sicer po principu Key, Value. Key definiramo sami (ime), vrednost pa potem vpišemo v ta Key. / glavna je torej ASP dictionary funkcija /
Vse lepo in prav, zadevo se da fino vpisati in tudi izpisati. Ko nato nekje želim pokazati vsebino tega se lahko sklicujem z Manjše% =Key %Večje in mi izpiše ime ključa. Vsebino ključa pa dobim tako da naredim manjše%=dictionary.Item(Key)%večje.
Pri meni sem za ime tega Keya izbral kar IDje podtkov v bazi (1 do n). Se pravi imam ključe 1, 2, 3, 4, ... z vrednostmi a, b, c, d. Te vrednosti se dajo lepo uporabljati kot števila z njimi se da množiti, ... skratka vse.
Jaz bi pa sedaj te podatke KEY in VALUE rad uporabil za pomikanje po bazi. Se pravi v obliki recordset.Move Key (se pravi pomakni se na record na poziciji Key). Vendar ne gre. Zanima me ali Key ni kot število in kako uporabiti ime tega Keya za pomik v moji bazi.
Sem poskušal že tudi z: rs.Move Cint (Key)
Vendar mi ne funkcionira daje ven tisti error napisan v prejšnjem postu.
Torej kako uporabiti ta KEY za pomik v bazi... Hvala!
Vse lepo in prav, zadevo se da fino vpisati in tudi izpisati. Ko nato nekje želim pokazati vsebino tega se lahko sklicujem z Manjše% =Key %Večje in mi izpiše ime ključa. Vsebino ključa pa dobim tako da naredim manjše%=dictionary.Item(Key)%večje.
Pri meni sem za ime tega Keya izbral kar IDje podtkov v bazi (1 do n). Se pravi imam ključe 1, 2, 3, 4, ... z vrednostmi a, b, c, d. Te vrednosti se dajo lepo uporabljati kot števila z njimi se da množiti, ... skratka vse.
Jaz bi pa sedaj te podatke KEY in VALUE rad uporabil za pomikanje po bazi. Se pravi v obliki recordset.Move Key (se pravi pomakni se na record na poziciji Key). Vendar ne gre. Zanima me ali Key ni kot število in kako uporabiti ime tega Keya za pomik v moji bazi.
Sem poskušal že tudi z: rs.Move Cint (Key)
Vendar mi ne funkcionira daje ven tisti error napisan v prejšnjem postu.
Torej kako uporabiti ta KEY za pomik v bazi... Hvala!
alesrosina ::
hm. Za pomik v bazi ... Hm, kaj to bi rad, da ti iz baze izpise recimo recod z idjem 1, potem z idjem 6, potem z idejem 20? Torej, da ne gre po vrsti amapk nek "random" izbor userja?
Ker ce jaz kaj prov vem, potem metoda rs.move naredi to, da ce napises rs.move 3 se pomakne za 3 recorde naprej (torej naprimer iz recorda z idjem 5 na record z idjem 8).
Zdej, da bi se pa pomaknu na record, ki ima recimo id 5, potem moras pa narest primeren sql stavek (select * from tabela where id=5;)
Upam da sem ti kaj pomagal.
Ker ce jaz kaj prov vem, potem metoda rs.move naredi to, da ce napises rs.move 3 se pomakne za 3 recorde naprej (torej naprimer iz recorda z idjem 5 na record z idjem 8).
Zdej, da bi se pa pomaknu na record, ki ima recimo id 5, potem moras pa narest primeren sql stavek (select * from tabela where id=5;)
Upam da sem ti kaj pomagal.
Zgodovina sprememb…
- spremenil: alesrosina ()
Joze_K ::
Ja nekaj takega, saj se da naredit najprej rs.movefirst, pa nato rs.move Key, pa tudi kako drugače ne tako kavbojsko, vendar je moj problem drugi:
Tega KEY vrednosti ne zna zaznati kot število, ki bi mu povedalo pomik za koliko. Torej kako to IME KLJUČA uporabim kot število...
Saj ne vem v kaki obliki je ta Key vrednost sploh dimenzionirana (a je to string, a je boolean, ali,... v glavnem kako uporabiti IME KLJUČA kot število?
Tega KEY vrednosti ne zna zaznati kot število, ki bi mu povedalo pomik za koliko. Torej kako to IME KLJUČA uporabim kot število...
Saj ne vem v kaki obliki je ta Key vrednost sploh dimenzionirana (a je to string, a je boolean, ali,... v glavnem kako uporabiti IME KLJUČA kot število?
Joze_K ::
Ugotavljam, da me nekaj drugega muči. Preveč sem se zanašal na to, da je ID v bazi podatkov definiran kot samoštevilo in gre torej lepo po vrsti 1 do n. Ker pa so se podatki vmes spreminjali se ta ID ni obnavljal kot zaporedna števila ampak so vmes luknje. Torej ko sem dal pomakni se na mesto 234 tega ni bilo ker jih je samo 123. Zdaj moram integrirati neke vrste search za pozicijo po posameznem IDju. Sistematski pristop bi mi prišparal dva dni, a ne?
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Prehod iz Win2000 na Win XPOddelek: Operacijski sistemi | 2206 (1531) | chrush |
» | [Mysql]počasen rand in rešitveOddelek: Izdelava spletišč | 1317 (1074) | Tody |
» | baze podatkovOddelek: Programiranje | 1557 (1476) | urkrajnc |
» | [T-SQL] Kako vnest podatek v bazo in da ti hkrati vrne id?Oddelek: Programiranje | 2888 (2606) | dmok |
» | Kako zaceti z PHP in MySQLOddelek: Programiranje | 2426 (2130) | simon |