webForumDet fria alternativet

definiera dynamiskt värde på en querystring, eller nått?

ASP

32 svar · 663 visningar · startad av His Divine Shadow

Medlem sedan sep. 20004 079 inlägg
Frågan#1
SQL = "SELECT * FROM BF WHERE Kundnr = '"& Request.Querystring("Kundnr") &"'"
rs.open SQL, conn, 2, 2

do until RS.EOF

artnum = rs("Artnr")

rs.Update
rs("Justerat") = Request.Querystring("<Artnum värdet här>")
rs.Update

RS.MoveNext
Loop
Conn.Close

Vad jag vill göra här är att på nått vis göra så att artnum värdet läggs in som namn på querystringen, går det att göra på nått vis?

Medlem sedan juni 200032 967 inlägg
#2
rs("Justerat") = Request.Querystring(artnum)

Mvh,

Medlem sedan sep. 20004 079 inlägg
#3

Det man tror är svårt är alltid så löjligt enkelt :)

Medlem sedan sep. 20004 079 inlägg
#4

Oops, tvärr får jag:
================
Provider error '80020005'

Type mismatch.

/forslag/justera.asp, line 22
================

Linje 22 är:
rs("Justerat") = Request.Querystring(artnum)

Medlem sedan aug. 2001112 inlägg
#5

Testa med fnuttar...

Request.Querystring("artnum")

@EchO

Medlem sedan juni 200032 967 inlägg
#6

Skriv ut Request.Querystring (artnum) så får vi se vad den innehåller.

Mvh,

Medlem sedan juni 200032 967 inlägg
#7

Förresten;

Utan att veta så frågar jag, ska du ha rs.update två gånger?
Är det en update eller insert du försöker göra på detta förkastliga ( ;) ) sätt?

Mvh,

Medlem sedan sep. 20004 079 inlägg
#8

Varför det är två vet jag inte, men det är en update, detta var en bit med kod som jag hittade på en asp site för länge sen, jag visste inte att det var förkastligt.

Hur skriver jag ut den förresten?
Response.Write antar jag, men hur?

Medlem sedan sep. 20004 079 inlägg
#9

Vänta, fick till det:
querystringen innehåller bara det den ska, en siffra, 90 i detta fall.

Medlem sedan sep. 20004 079 inlägg
#10

Ingen som vet vad som blir fel?

Medlem sedan juni 200032 967 inlägg
#11

Byt

rs.Update
rs("Justerat") = Request.Querystring("<Artnum värdet här>")
rs.Update

mot

conn.execute ("UPDATE BF SET Justerat =" & Request.Querystring(artnum) & " WHERE Kundnr = '" & Request.querystring("Kundnr") & "' AND Artnr = '" & artnum & "'")

Jag har utgått ifrån att Justerat är ett talfält och att Artnr är ett text-fält.

Mvh,

Medlem sedan sep. 20004 079 inlägg
#12

Dom är nog båda text fält.

Medlem sedan juni 200032 967 inlägg
#13

Då får du lägga apostrofer runt värdet för Justerat också i SQL-frågan.

Medlem sedan sep. 20004 079 inlägg
#14

Tja, eftersom justerat var ett text fält lade jag till sånahära vad dom nu kallas > ' <

Men nu får jag ett "Data type mismatch in criteria expression"

Medlem sedan juni 200032 967 inlägg
#15

Då får du kolla upp vad dina fält har för fälttyper.

Felmeddelandet säger att du har fnuttar (apostrofer) runt något du inte ska ha apostrofer runt (dvs talfält el. dyl.).

Medlem sedan sep. 20004 079 inlägg
#16

Oops! Nej, det är ett tal fält, såg lite snett där :r
Nu säger det "Syntax error in UPDATE statement"

Nått stavfel kanske?
*börjar leta*

Medlem sedan juni 200032 967 inlägg
#17

Gör så här då:

strSQL = "UPDATE BF SET Justerat =" & Request.Querystring(artnum) & " WHERE Kundnr = '" & Request.querystring("Kundnr") & "' AND Artnr = '" & artnum & "'"
response.write strSQL
conn.execute (strSQL)

Du borde få utskrift av SQL-frågan till din browser.

Hur ser den ut?

Mvh,

Medlem sedan sep. 20004 079 inlägg
#18
UPDATE BF SET Justerat = WHERE Kundnr = '213' AND Artnr = '41066'

Tja, verkar som inte artnum funkar som det ska.

Medlem sedan sep. 20004 079 inlägg
#19

Fixade det själv, fel på querystringen från förra sidan, funkar nu, thx :)

Medlem sedan juni 200032 967 inlägg
#20

Det verkar helt klart som att artnr är tomt. Det ska inte vara request.form då?

Skall det ha ett värde? Har ArtNr i tabellen alltid ett värde?

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