24. juli 2002 - 01:33Der er
7 kommentarer og 3 løsninger
Et par blandede ASP spørgsmål
Så gik der endnu en dag foran computeren, hvor jeg har forsøgt at lære ASP. Det går efterhånde ok, men følgende spørgsmål er dukket op i løbet af dagen :
1. Jeg har lidt problemer med nogle variable. Jeg tror det har noget at gøre med om de bliver opfattet som tekst eller tal. Jeg har følgende konkrete problem -
Hvis jeg vil hente nogle poster i min database som tilhørere en bestemt varegruppe. I databasen angives varegruppen med et nummer, så hvis jeg f.eks. ville have alle fra gruppe fire kunne det se således ud
strSQL = "Select * From varer Where varegruppe = 4"
og det virker fint nok. Problemet er at det ikke altid er nummer fire jeg vil have fat i. Det nummer jeg vil have fat i, det skal hentes i en cookie. Jeg har styr på hvordan dette skal gøres, og kan sagtens få det til at virke i andre tilfælde. Men jeg tror problemet er at den værdi der hentes i cookien er en tekst værdi, og derfor virker det ikke rigtigt når det er en talværdi jeg prøver at sammenligne med. Lyder det rigtigt? er der forskel på tekst og tal? og er der i så fald en måde hvorpå man kan definere/omdanne en variable så det bliver et tal eller omvendt?
2. Jeg har forsøgt at lære ASP ved hjælp af en tutorial på html.dk Jeg har lagt mærke til at de altid kalder deres variable noget i stil med strNavn osv. Er der en grund til at de altid skriver str foran, eller er det fuldkommen ligemeget hvad en variabel heddeR?
3. Kan man lave et loop i et loop?
Jeg har to tabeller i min database. Den ene er med varegrupper og ser således ud
gruppenummer gruppenavn
Den anden er med varene og ser således ud
varenummer gruppenummer varenavn ....osv
Så alle varer hører til en varegruppe.
hvis nu jeg gerne vil lave en liste over samtlige varer, med underopdelinge i varegrupper, så er jeg kommet frem til at man burde kunne lave det med en loop i en loop. Det ville så være i stil med
Do skriv navnet på varegruppen Do Skriv alle varer med dette varegruppenummer Loop indtil der ikke er flere i denne gruppe Loop indtil der ikke er flere varegrupper
Men kan man det? altså lave en loop i loop?
4. Jeg har som sagt gennemgået den tutorial på html.dk men det er jo kun det helt grundlæggende man lærer der. Jeg synes allerede nu at jeg godt kunne tænke mig at lære noget mere, så kan i anbefale nogle gode bøger? De SKAL være på dansk (gider ikke læse engelsk i min fritid, det er der nok af i skolen)
Det var vist hvad dagen har bragt af spørgsmål. Nu vil jeg smutte i seng, så jeg svarer tjekker ikke ind på dette spørgsmål før i morgen engang, hvor jeg så håber der er nogle gode svar så jeg kan komme videre.
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
1, 2 der er ikke forskel på tal og bogstaver i ASP, men aligevel er der
hvis du fx. skriver iTal = cdbl(request.querystring("tal")) vil du "tvinge" ASP fortolkern til at opfatte/konvertere request.querystring("tal") som/til et tal
der efter kan du så sige om tallet er størrere end et eller andet (det bliver opfattet som et tal) hvis du skriver iTal = Request.querstring("tal") bliver det af ASP fortolkeren opfattet som en streng..... og du vil ikke kunne sige om iTal er størrere eller mindre end et andet tal
det lyder lidt forvirrende er jeg bange for, men det er det også :)
når det så kommer til din strSQL er det noget (lidt) andet, det du sender i din strSQL (til databasen) bliver nemlig "sendt" som en streng til databasen.. hvis du fx har din sql sån. strSQL = "SELECT * FROM tabel WHERE ID=" & iTal
2 ) variabler kan hedde det man vil. Det med at der tit strå "str" foran visse variabler, er der for at fortælle programmøren, at der er tale om en "string" altså en tekststreng. Man kunne også skrive "int" foran for at fortælle at der er tale om en Integer altså et heltal.
du kan heller ikke tvine asp til at opfate din variabel som fx. tekst eller en streng som du kan i andre programmerings sprog (så skal du bruge vb.net)
i vb.net kan du fx. sige Dim iTal As Integer
det betyder så at "komputeren" afsætter plads i hukommelsen til en integer (tal værdi som fylder 32 bit) når "alm." asp afsætter plads i hukommelsen afsætter den altid plads til en variant som ikke har noget egentligt limit (kan ikke finde noget dokumentation :( ), men det er ihvert fald mere en 32 bit (som svarer til 4 ASC II tegn (værdi 0 til 255)
3 jo du kan lave loops i loops i loops i loops....:)
4 nej, glem det du får ikke noget ordentligt på dansk men jeg kan anbefale Wrox, beginning active server pages 3.0 den er god og med gode brugbare eksempler. Hvis du ikke gider læse engelsk vil jeg mene at du ikke kan finde noget ordentligt, når du kommer ud over det almindelige.... Hvis du havde tænkt dig en karriere inden for computer brancen så SKAL du kunne læse engelske bøger, de engelsk sprogede bøger udkommer også lang tid før der er nogen der oversætter / skriver nogle på dansk.. Desuden er det ASP jo egentlig bare engelske ord så hvorfor få dem forklaret på dansk????? (det gør kun fovirringen størrere)
1. Det var lige præcis noget i den stil som a1 skrev med iTal = cdbl(request.querystring("tal")) Som jeg tænkte på...altså at man kunne skriv cdbl foran for at lave det til et heltal istedet for. Det viste sig dog i sidste ende at det ikke var her mit problem lå, men derimod noget så simpelt/dumt som at jeg var kommet til at skrive et forkert variablenavn (sådan går det når man kopiere lidt at scriptet fra en af de andre sider, så passer variabel navnene pludselig ikke).
Så nu fik jeg løst problemet, og jeg kan sikkert alligevel bruge det med cdbl en anden gang.
2. Ok, tænkte nok at det var ligemeget hvad man skrev
3. hmmm ok, jeg har prøvet men kan ikke lige få det til at virke. Jeg prøver at oprette et nyt spørgsmål, hvor jeg så kan poste scriptet, så kan det være der er en der kan se hvad jeg gør galt.
4. Nej jeg har nu ikke planer om en karriere inden for computerbranchen. Det er kun fritidsinteresse, og derfor foretrækker jeg så vidt muligt at bruge bøger på dansk, for jeg ved at jeg sjældent får taget mig sammen til at åbne de engelske...det har jeg rigeligt at på mit studie. Men det kan da godt være at jeg alligevel vil kigge lidt på Wrox, da jeg også lige har set den anbefalet et andet sted.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.