webForumDet fria alternativet

Nybörjarproblem...

28 svar · 702 visningar · startad av jacoblo33

jacoblo33Medlem sedan dec. 200317 inlägg
#1

Har ett litet problem...

dise = RS("dinamn")
response.Write dise

skriver ut "jacob test"

men senare där jag vill ha det,
response.Write "<INPUT id=""dise"" name=""dise"" class=""littleForm"" size=""25"" style=""FLOAT: left"" value =" & dise & ">"

skriver det bara ut "jacob"

Någon som har en anning varför detta händer?

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#2

Värden med andra tecken i sig än a-z och 0-9 måste ha citattecken kring sig. Enklast är att ta för vana att alltid använda citattecken kring värden. Sen i XHTML ska man alltid ha det.

Så skriv så här:

response.Write "<INPUT id=""dise"" name=""dise"" class=""littleForm"" size=""25"" style=""FLOAT: left"" value=""" & dise & """>"
jacoblo33Medlem sedan dec. 200317 inlägg
#3

Allt för många " för att jag tycka om det :)

Men det fungerar i alla fall

jacoblo33Medlem sedan dec. 200317 inlägg
#4

Denna här då?

SQL = "UPDATE User Set lag = " & lag & "" where ID = " & id & ""

fungerar om jag använder
SQL = "UPDATE User Set lag = 'lagets namn' where ID = " & id & ""

hur lyckas jag få in det så det blir rätt?

@ndersMedlem sedan juni 200032 969 inlägg
#5
SQL = "UPDATE User Set lag = '" & lag & "' where ID = " & id

Mvh

jacoblo33Medlem sedan dec. 200317 inlägg
#6

Tack för hjälpen

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#7

Varför inte skriva så här då?

<INPUT id="dise" name="dise" class="littleForm" size="25" style="FLOAT: left" value="<%=dise%>">
jacoblo33Medlem sedan dec. 200317 inlägg
#8

Jag försöker köra UPDATE med närmare 10 olika saker som ska uppdateras. Fungerade inte så jag började lägga till en och en.
Efter fem - sex styckna slutar det fungerar. Är det vanligt?

SQL = "UPDATE User Set lag = '" & lag & "', pw = '" & losen & "', email = '" & email & "', dinamn = '" & dise & "', icq = '" & icq & "', msn = '" & msn & "' where ID = " & id & ""

När jag la till icq och msn slutade det uppdatera databasen. Inget felmeddelande, men uppdaterar inte (varken för de tidigare som fungerat tidigare eller icq/msn.

@ndersMedlem sedan juni 200032 969 inlägg
#9

Inget felmeddelande?
Du råkar inte har on error resume next i koden?

jacoblo33Medlem sedan dec. 200317 inlägg
#10

Var tänkt den skulle vara avstängd :(

Fick det att fungera till slut, men har nästa problem

id = request.QueryString("id")
dise = request("dise")
lag = request("lag")
losen = request("losen")
div = request("div")
age = request("age")
stad = request("stad")
msn = request("msn")
icq = request("icq")
email = request("email")

Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("di.mdb")&";"

SQL = "UPDATE User Set lag = '" & lag & "', pw = '" & losen & "', email = '" & email & "', dinamn = '" & dise & "', msn = '" & msn & "', stad = '" & stad & "', ålder = '" & age & "', division = '" & div & "', icq = '" & icq & "' where ID = " & id & ""
Set RS = Con.Execute(SQL)

Fungerar bra när det gäller lag med ID 1
För alla andra fungerar det inte.

Syntax error (missing operator) in query expression ''Oscy's Jokers', pw = 'miffe', email = '', dinamn = 'kickazz', msn = 'kickazzoscy@hotmail.com', stad = 'Malmö', ålder = '17', division = 'V.253', icq = '' where ID = 49'.
/update2.asp, line 26

@ndersMedlem sedan juni 200032 969 inlägg
#11

Det är för att du har en apostrof i namnet. Apostrofer avgränsar ju strängar i SQL, så du måste escape:a alla strängar.

function SQLFix(strText)
     SQLFix = Replace(strText, "'", "''")
End function

...
lag = SQLFix(request("lag"))
...

Mvh

jacoblo33Medlem sedan dec. 200317 inlägg
#12

Men varför fungerar det felfritt för id=1 ?

@ndersMedlem sedan juni 200032 969 inlägg
#13

För att laget med ID 1 inte hade någon apostrof i lagnamnet?

jacoblo33Medlem sedan dec. 200317 inlägg
#14

Skumt. Alla lagnamnen är utan apostrof. Men funktionen du gav mig fixar det problemet i alla fall.

Nu får jag däremot ett annat fel
Data type mismatch in criteria expression.
/update2.asp, line 32

@ndersMedlem sedan juni 200032 969 inlägg
#15

jacoblo33 skrev:

Skumt. Alla lagnamnen är utan apostrof. Men funktionen du gav mig fixar det problemet i alla fall.

Nej, alla är inte utan apostrof. Inte det som visas i felmeddelandet ovan, Oscy's Jokers.

Nu får jag däremot ett annat fel
Data type mismatch in criteria expression.
/update2.asp, line 32

Då gissar jag på att du har något fält i din tabell, som är av taltyp, och du trots det har apostrofer runt värdet i SQL-frågan. Bort med dem då.

mvh

jacoblo33Medlem sedan dec. 200317 inlägg
#16

Ja, du syftar på ' den i mitten av hans lagnman.

Jag har två fält som är siffror (ålder och icq), men som sagt, koden fungerar bra för id 1 där jag använder båda två...

@ndersMedlem sedan juni 200032 969 inlägg
#17

jacoblo33 skrev:

Jag har två fält som är siffror (ålder och icq), men som sagt, koden fungerar bra för id 1 där jag använder båda två...

Koden borde inte fungera bra för id 1. Ta bort apostroferna runt fältvärdena för ålder och icq. Om fälttypen är tal då vill säga.

Mvh

jacoblo33Medlem sedan dec. 200317 inlägg
#18

om jag skriver in ålder = 20 i stället fungerar det, men i själva koden, hur gör jag det lättast?

ålder = '" & age & "'

kan inte plocka bort dem för då blir det ett annat fel meddelande

@ndersMedlem sedan juni 200032 969 inlägg
#19
ålder = " & age & "

Vad för annat felmeddelande?

jacoblo33Medlem sedan dec. 200317 inlägg
#20

Fungerar. Vet inte vad jag babblar om

Väldigt tacksam för all hjälp jag får här inne

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)