webForumDet fria alternativet

Är det här helt galet eller?

ASP

5 svar · 386 visningar · startad av sudden

Medlem sedan okt. 2002341 inlägg
Frågan#1

Hej!
Det var ett tag sen jag höll på med ASP så ni får väl ha överseende med detta.
Jag har en funktion som innehåller en vektor.
Vektorn innehåller 13 st olika personligheter.
Nu vill jag slumpa ut en utav dessa och lägga till den slumpade till en speciell kolumn i en tabell.
Här är koden, rätta mina fel :r :

Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=sthlmonline;USER=root;PASSWORD=;"

Function personlighet(POSITIV)
 Dim arrPersonlighet(12) 'deklarera variabeln
 'stoppa in posotiva personligheter i den
 arrPersonlighet(0)    = "charmtroll"
 arrPersonlighet(1)    = "hyper trevlig"
 arrPersonlighet(2)    = "mycket trevlig" 
 arrPersonlighet(3)    = "trevlig"
 arrPersonlighet(4)    = "omtänksam"
 arrPersonlighet(5)    = "socialt monster"
 arrPersonlighet(6)    = "lojal"
 arrPersonlighet(7)    = "kärleksfull"
 arrPersonlighet(8)    = "förstående"
 arrPersonlighet(9)    = "företagssam"
 arrPersonlighet(10)   = "positiv"
 arrPersonlighet(11)   = "aktiv"
 arrPersonlighet(12)   = "skämtare"
    'slumpa ut en utav dessa personligheter
    Randomize
    slump_positiv = Int(RND*arrPersonlighet(12)) - 1
    Do While slump_positiv >= 0
    slump_positiv = slump_positiv - 1
	Loop
 SQL = "INSERT (slump_positiv) INTO tbl_invanare VALUES('" & personlighet & "')"
 rs = conn.Execute(SQL)
End Function

set conn = nothing
set rs = nothing

Jag antar att det här ser helt crazy ut...säg hur jag ska göra isåfall :)

Medlem sedan okt. 2002341 inlägg
#2

Ingen? :(

Medlem sedan feb. 20011 198 inlägg
#3

Det mesta ser galet ut.
Du har en funktion som man ska skicka in något i som inte används.
Du försöker multiplicera RND med strängen "skämtare"
Sen har du en helt meningslös loop som alltid kommer sluta i att slump_positiv = 0.
En variabel du inte använder mer.
Sen har du en insertsats som är fel.
Du avslutar funktionen med att skapa ett recordset av insertsatsen.
Och du returnerar inget värde från funktionen.

Medlem sedan okt. 2002341 inlägg
#4

Det va väl det jag visste :)
Jaja...men hur ska jag göra då för att det ska funka?

Medlem sedan feb. 20011 198 inlägg
#5

En bit på väg iaf.

Sub personlighet()
 Dim arrPersonlighet(12) 'deklarera variabeln
 dim lngrand,SQL
 'stoppa in posotiva personligheter i den
 arrPersonlighet(0)    = "charmtroll"
 arrPersonlighet(1)    = "hyper trevlig"
 arrPersonlighet(2)    = "mycket trevlig" 
 arrPersonlighet(3)    = "trevlig"
 arrPersonlighet(4)    = "omtänksam"
 arrPersonlighet(5)    = "socialt monster"
 arrPersonlighet(6)    = "lojal"
 arrPersonlighet(7)    = "kärleksfull"
 arrPersonlighet(8)    = "förstående"
 arrPersonlighet(9)    = "företagssam"
 arrPersonlighet(10)   = "positiv"
 arrPersonlighet(11)   = "aktiv"
 arrPersonlighet(12)   = "skämtare"

randomize
lngrand=0
do until lngrand<12 and lngrand>0
	lngrand = round(rnd*ubound(arrPersonlighet),0)
loop

SQL = "INSERT INTO tbl_invanare (slump_positiv) VALUES('" & arrPersonlighet(lngrand) & "')"
conn.Execute SQL

end sub
Medlem sedan okt. 2002341 inlägg
#6

Okej nu har jag gjort en del förändringar.
Så här ser det ut nu:

Dim conn    'connection variabeln
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=sthlmonline;USER=root;PASSWORD=;"

 Dim arrPersonlighet_positiv(12) ,arrPersonlighet_negativ(12)  'deklarera vektorerna
 dim lngrand1,lngrand2,SQL,SQL2   'slump variabeln och SQL variablerna
   'Lägg in positiva egenskaper i vektorn arrPersonlighet_positiv
     arrPersonlighet_positiv(0)    = "charmtroll"
     arrPersonlighet_positiv(1)    = "hyper trevlig"
     arrPersonlighet_positiv(2)    = "mycket trevlig" 
     arrPersonlighet_positiv(3)    = "trevlig"
     arrPersonlighet_positiv(4)    = "omtänksam"
     arrPersonlighet_positiv(5)    = "socialt monster"
     arrPersonlighet_positiv(6)    = "lojal"
     arrPersonlighet_positiv(7)    = "kärleksfull"
     arrPersonlighet_positiv(8)    = "förstående"
     arrPersonlighet_positiv(9)    = "företagssam"
     arrPersonlighet_positiv(10)   = "positiv"
     arrPersonlighet_positiv(11)   = "aktiv"
     arrPersonlighet_positiv(12)   = "skämtare"
   'Lägg in negativa egenskaper i vektorn arrPersonlighet_negativ
     arrPersonlighet_negativ(0)    = "otålig"   
	 arrPersonlighet_negativ(1)    = "oempatisk" 
	 arrPersonlighet_negativ(2)    = "illojal" 
	 arrPersonlighet_negativ(3)    = "högljudd" 
	 arrPersonlighet_negativ(4)    = "asocial" 
	 arrPersonlighet_negativ(5)    = "omoralisk" 
	 arrPersonlighet_negativ(6)    = "vresig" 
	 arrPersonlighet_negativ(7)    = "frossare" 
	 arrPersonlighet_negativ(8)    = "likgiltig" 
	 arrPersonlighet_negativ(9)    = "aningen pervers" 
	 arrPersonlighet_negativ(10)   = "dryckesgill" 
	 arrPersonlighet_negativ(11)   = "missbrukare" 
	 arrPersonlighet_negativ(12)   = "okänslig" 

'slumpa en av dessa personligheter och lägg till den i tbl_invanare
randomize
lngrand=0
do until lngrand<12 and lngrand>0
	lngrand = round(rnd*ubound(arrPersonlighet_positiv),0)
loop
randomize
lngrand2=0
do until lngrand2<12 and lngrand2>0
     lngrand2 = round(rnd*ubound(arrPersonlighet_negativ),0)
loop

SQL = "INSERT INTO tbl_invanare (personlighet_pos, personlighet_neg) VALUES('" & arrPersonlighet_positiv(lngrand) & "','" & arrPersonlighet_negativ(lngrand2) & "')"
SQL2 = "SELECT personlighet_pos, personlighet_neg FROM tbl_invanare ORDER BY ID DESC"
rs = conn.Execute(SQL)
rs2 = conn.Execute(SQL2) 'hämtar datan från tbl_invanare

Response.Write"Din invånare är&nbsp;" & rs2("personlighet_neg") & "&nbsp;men&nbsp;" & rs2("personlighet_pos") &"&nbsp;&nbsp;&nbsp;<a href='index.asp'>Tebax</a>"
set conn = nothing
set rs = nothing
set rs2 = nothing

Nu funkar det som jag vill iallafall :)
Men eftersom en utav dem positiva egenskaperna är "socialt monster" och en utav dem negativa egenskaperna är "asocial" så händer det ju ibland att dem här två egenskaperna hamnar tillsammans (dock inte så ofta)
Och det ser ju helt galet ut...att personen är "asocial men ett socialt monster"
Hur ska jag fixa det?

265 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)