Hali!
Egy segítséget szeretnék kérni. ASP technikával készült -interneten keresztül elérhető adatbázis- ügyviteli szoftvereket, illetve cégeket, honlapokat, vagy akár cikkeket keresek.
Nem vagyok a téma ismerője, de azért remélem, hogy jól írtam le. Az ASP szóra keresve inkább programozással foglalkozó oldalakat találtam.
Ami engem érdekel, az egy olyan ügyviteli szoftver (könyvelés például, de bármi más is lehet), amit az Interneten keresztül lehet működtetni. Nekem azt mondták, hogy ez ASP technológiával készül, azért jöttem ide.
Egy adatbázisból próbálok előhívni képeket ami nem lenne gond, csak az a bajom hogy bizonyos képeket nem tölt be az Internet Explorer (6) ebből az adatbázisból, és egy piros x-et rak a helyére.A többi képpel nincs gond.
A netscape pedig mindegyik képet gond nélkül betölti.
Miért van ez és mi a megoldás?
jpeg az összes kép és mind 100k körül van.
Helyi gépen fut a dolog, tehát nem annnyira okoz problémát az akár többszöri lekérdezés. Rájöttem, hogy újra kell gondolnom az adatbázis szerkezetét, eddig kissé "ömlesztve" voltak a dolgok benne. Amúgy DISTINCT-tel csináltam a kiválogatást (mivel a nem túl átgondolt tárolás miatt vegyesen voltak az alkategóriák is...)
Szia,
kezdjük a végéről:
A JavaScript nem Microsoft fejlesztés (a JavaScript MS implementációja, a JScript igen, de az Eval() a JavaScript univerzális eszköze).
Nos vissza a problémádhoz:
egyfelől, nem biztos, hogy elegánsabb változókba tenni az adatokat. Nem gondoltam teljes mélységében át amit írtál, de elsőre úgy tűnik, hogy megfelelően kialakított "SELECT" utasításokkal nincs szükség túl sok adatbázishoz fordulásra ("GROUP BY, hm ??").
Azután lehet létrehozni VB-ben recordsetekből álló tömböt is, ha kell. Mi több, úgy emlékszem (ennek utána kellene nézni), hogy VB-ben a tömbök "újradimenzionálhatók", azaz a méretük változtatható. Szerintem ezekkel az eszközökkel elegánsabban meg lehet oldani a dolgot, mint esetleges futásidőben kreált változókkal, amelyre szerintem amúgy sincs mód.
Üdv
A helyzet a következő: az első lapon felsorolom a kategóriákat, amikből a felhasználó választhat. A következő lapon megvizsgálom, hogy melyik kategória melletti Checkbox volt kipipálva, és ennek megfelelően listázom ki az adott kategóriában szereplő árukat (a Checkboxok nevei az adatbázisban szereplő kategóriák). Vannak alkategóriák, ezeket is feltüntetem. Na ez utóbbihoz kell a sok adatbázishoz fordulás (le kell ugyanis kérdeznem az adott kategóriába tartozó alkategóriákat). Ez nem akkora probléma, mert helyi gépen fut(na) a dolog.
Ezek kapcsán jutott eszembe, hogy lehetne elegánsabbá tenni, ha a legelején létrehoznék olyan változókat, amelyek a megfelelő kategóriákban előforduló alkategóriák neveit tartalmazzák, és a későbbiekben már csak ezek tartalmát kell lekérdezni. Mondjuk kevesebb adatbázishoz fordulást ez utóbbi se igényel...
Mivel JavaScriptben van eval (ami szerintem hasznos dolog), gondolom ASP-ben is van hasonló (remélem most nem lövök bakot - úgy tudom a JS is MS fejlesztés).
One of these tricks is the eval() function, which takes a string and executes it as if it were a JavaScript expression.
Úgy hiszem ilyen utasítás nincs (igazán az eval sem erre való).
Nem is hiszem, hogy szükség lenne arra,. hogy a változók nevei dinamikusan jöjjenek létre, legfeljebb az értékei. Érdekes lenne, ha leírnád, hogy mi az a feladat, ami ezt igényli.
Újabb kérdés: lehet-e a JavaScript-es eval-hoz hasonló utasítást/fv-t használni? Konkrétan arra kéne, hogy dinamikusan adjak hozzá ASP változókat a honlapba. Tudom tömbbel is meg lehetne oldani, de nekem jobb lenne így. Tehát kiolvasok egy táblát az adatbázisból, és létrehozok x darab változót, melyek nevei az adatbázisból származnak.
Ahogy most olvasom amit írtam, hihetelen körülményesen tudok fogalmazni... Pedig 5-ös voltam nyelvtanból/irodalomból :-)
De lúzer vagyok :-)) Égetem itt magam ezerrel. Szóval az a helyzet, hogy már megoldódott a problémám. Egymásba ágyazott if-eket használok, és korábbi gyakorlatom alapján azt részesítettem előnyben, hogy
if felt1 then ut1 else
if felt2 then ut2 else
.
.
.
Úgy tűnik, hogy az else-t és a hozzá tartozó if-t csak egy sorban fogadja el az értelmező:
if felt1 then ut1
else if felt2 then ut2
else if...
Így már OK. Közben rájöttem arra is, hogy simán az utasításokat egymás alá írva jó lesz a dolog. Valószínűleg az volt a baj, hogy közben else-eztem is (pontosabban próbálkoztam volna), tehát amiatt hibát jelzett az értelmező, miközben a 'több utasítás végrehajtása', amit eredetileg kérdeztem, teljesen korrekt volt.
Igen dinamikusan változik a lista. Elég jól tudok lekérdezni ASP-ből. Az a helyzet, hogy az első listából kategóriát lehet választani. Amikor kiválasztok egy pontot, akkor ne kelljen OK-ot nyomni a frissítéshez, hanem egyből jelenjen meg az aktuális kategóriához tartozó alkategóriák listája a második legördülő menüben. Úgy sikerült megoldani, hogy OK-ot nyomok aztán a következő oldalon lehet folytatni a már aktualizált adatokkal... de kényelmesebb lenne az azonnali frissítés. Remélem érthető így másodjára.
Szia, egy nagyon szimpla minta, amin lehet, sőt kell is finomítani, de a lényeget láthatod :) (Remélem, azt tudod, hogy a zárójeleket hol kell kisebb-nagyobb jelekre cserélni...)
Azután: amennyiben egy legördülő listából való választáskor a másik legördülő tartalma statikusan változik és nem egy adatbázisból, úgy fölösleges ASP kódot írni, javascriptből is hozzáférsz az objektumokhoz. (Ha szükséges majd erre is írok kis mintát, de bármely javascript manualban könnyen találsz)
Amennyiben adatbázisból származó adatokkal dinamikusan frissíted a másik legördülő listát, úgy valóban kell ASP. Ha erre gondolsz, pontosabban írd le, meddig jutottál el, mert elejétől végéig leírni a procedúrát hosszadalmas lenne:)
Tényleg :-)) Jajj de butuska vagyok. Ha egy kódrészletet mutatnál az jó lenne, mert nem nagyon foglalkoztam JavaScripttel. Át fogom tudni írni.
Amihez viszont kell az ASP: legördülő listából menüpont kiválasztására megváltozik egy másik legördülő lista TARTALMA is, tehát meg kell hívnia egy lekérdezést. Remélem ehhez is van ötleted.
Szia.
Ez nem igazán ASP téma. Javascriptben könnyedén megoldhatod. A checkboxnak van onClick eseménye. Arra meghívsz egy függvényt, ami végigmegy a többi checkboxon és azokat a kívánt állapotúra hozza tetszés szerint.
Remélem érthető, ha nem megy, írok rövidke mintát.
Sziasztok,
az érdekelne, hogyn lehetne dinamikusn frissíteni az oldaltartalmat. Konkrétan: kipipálok egy checkboxot, amire változik egy másik checkboxok állapota stb. Tehát "select all"-szerű funkció iránt érdeklődnék.
Most ismerkedek csak az IIS-el és persze a ASP-vel. Rendben műkszik a www szerverm, ami eddíg html alapu volt. De kitaláltam, hogy kordszerűsítem a dolgokat (azaz 1X megtanulom, adatbázis alapúra fejleszteni) Access+ASP.
Az első teljesen érthetetlen problémám, hogy miért nem mindegy az ASP fájloknak az elérési út, már azt hittem megzöldűlök, mire rájöttem, hogy miért nem akar működni.
pl: az alapértelmezett web oldal lejön az
http://isti/ - C:\Inetpub\wwwroot\index.html - http://localhost/index.html
bármelyikére
Ezzel szemben az ASP csak így műkszik:
http://isti/asp/Example2.asp
így már egyik sem
http://isti/asp/Example2.asp
http://localhost/asp/Example2.asp
Nagyon jó a gyári súgó(http://localhost/iishelp/iis/misc/default.asp), de erre nem találtam választ.
Nos:
az oRs("mezo01")-t behelyettesítve a megfelelő sztringgel ("9.35") és ugyanezt megtéve a másik mezővel, az átlag a megfelelő eredményt adja, nem tudom, esetedben mi lehet a gond, javaslom nézd meg, mi van a recordsetben, azt én nem látom, de onnan működni látszik.
Két megjegyzés:
- nem a működő scriptet copyztad be, az atlag=... sorban nem stimmelnek a zárójelek, ilyen formában biztosan nem működött. Biztos, hogy a többi része így néz ki nálad is ?
- Muszáj ennyit konvertálni ? Nem lehet az adatbázisban megfelelő típusu értéket tárolni ?
szoveg1=""
szoveg = cstr(oRs("mezo01"))
for i = 1 to len(szoveg)
if mid(szoveg,i,1)="." then
szoveg1 = szoveg1 + ","
else
szoveg1 = szoveg1 + mid(szoveg,i,1)
end if
next
szam1 = cdbl(szoveg1)
szoveg3=""
szoveg = cstr(oRs("mezo03"))
for i = 1 to len(szoveg)
if mid(szoveg,i,1)="." then
szoveg3 = szoveg3 + ","
else
szoveg3 = szoveg3 + mid(szoveg,i,1)
end if
next
szam3 = cdbl(szoveg3)
atlag=cdbl(szam1+szam3)/2)
Nincs valami elírás, vagy hiba a pontok lecserélésénél ? Nekem rendes eredményt hoz.
Próbáld lépésről lépésre végignézni, hogy hol romlik el a dolog, vagy küldd el a függvényt.
Üdv: SindbaD
Adott tovabbra is ez a 2 valos szam. A=9.51 B=9.35 (tehat tizedesPONTtal). Stringge konvertalom oket (SA,SB valtozok), majd egy ciklussal gyorsan megkeresem a '.'-ot es kicserelem ','-re, mert a helyi beallitasok miatt tizedesponttal nem tud szamolni az ASP.
Szoval adott ket szam, amiben tizedesvesszo van. A ket szam atlaga kellene (A+B)/2.
Na ehhez kepes cdbl(SA)+cdbl(SB) eredmenye nem 18,86, hanem csak 18,09.
Mi okozhatja ezt a hibat??? Nem igy kellene eltuntetnem a tizedespontot? Vagy egyeb oka van?
Leszedtem egy tablabol egy marek karakteres mezot, de mindegyikben valos szam van. Ezeket a mezoket kellene nekem egy valos valtozoba berakni, hogy utana tudjak veluk szamolni.
Mi az a nyomorult konverzios fuggveny, ami ezt megteszi?????? B-)
pedig nem jó az excel is ide, csak sima automation kell..
excel helpben van vmi programming guide rész, abban benne van az összes office cuccban VB-ben (ami ide majdnem fullra jó is), hogy mit kell csinálni melyik objektummal. Biztos nem fog gondot okozni neked, pillanatok alatt kész..