webForumDet fria alternativet

hämta rätt rad från tabell

ASP

20 svar · 222 visningar · startad av gucken

Medlem sedan sep. 2001287 inlägg
Frågan#1

jag ska hämta data fån raden som har har användarnamnet i sig, men han hämtar inga namn. han skriver inget felmeddelande heller

<%anvnamn=request.form("anvnamn")
passwd = request.form("passwd")
set rs=oConn.execute("SELECT * FROM Users WHERE User='&anvnamn&'")
do while rs.eof <> true
anvnamn2 = rs("User")
passwd2 = rs("passwd")

rs.movenext
loop
oConn.Close
Medlem sedan dec. 200012 464 inlägg
#2
set rs=oConn.execute("SELECT * FROM Users WHERE User='"&anvnamn&"'")

Det saknades några "

(User är inget bra namn på en kolum, då det är ett reserverat ord i SQL.)

------------------
essentitia preter non sans multiplicandum

Medlem sedan sep. 2001287 inlägg
#3

jag försöker skicka med användarnamnet till en annan sida via ett dolt formulär. för att förhindra folk från att skriva sig direkt till sidan i adressraden i browsern.. och undrar om denna kodsnutten skulle kunna vara rätt

<input type="hidden" name="anvnamn" value="<%&anvnamn&%>"

jag är lite osäker på vart snuffarna ska vara.

Medlem sedan dec. 200012 464 inlägg
#4
<input type="hidden" name="anvnamn" value="<% =anvnamn%>">

------------------
essentitia preter non sans multiplicandum

Medlem sedan sep. 2001287 inlägg
#5

om formuläret ska till sida.asp
och man directas dit ist för att klicka på en send knapp så skickas iaf formuläret dig va?

Medlem sedan dec. 200012 464 inlägg
#6

Förstår nog inte riktigt vad du menar. Hur då directas?

------------------
essentitia preter non sans multiplicandum

Medlem sedan sep. 2001287 inlägg
#7

tja response.redirect

Medlem sedan sep. 2001287 inlägg
#8

jag uttryckte mig lite luddig. vi omformulerar det såhär...
hur kan man skicka med ett värde till en sida som man skickas till genom
response.redirect("en_annan_sida.asp")

Medlem sedan juli 2000534 inlägg
#9
response.redirect("en_annan_sida.asp?varde1=foo&varde2=bar")

På en_annan_sida.asp hämtar du sedan värden med:

Request.QueryString("varde1")
Request.QueryString("varde2")

------------------
/Morph

Tech Support: "I need you to boot the computer."
Customer: (THUMP! Pause.) "No, that didn't help."

Medlem sedan dec. 200012 464 inlägg
#10

Tja, du kan lägga på grejs i urlen

response.redirect "page.asp?x=1"

------------------
essentitia preter non sans multiplicandum

Medlem sedan sep. 2001287 inlägg
#11

men om jag vill att värdet i värde1 ska vara värdet i en variabel. vart ska snaffarna vara då?
jag har fruktansvärda problem med att sätta snuffar på nya saker jag lär mig.

Medlem sedan dec. 200012 464 inlägg
#12
response.redirect "page.asp?x=" & variabel

------------------
essentitia preter non sans multiplicandum

Medlem sedan sep. 2001287 inlägg
#13

jag får detta felmeddelande hela tiden
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/gamble/test/updatebettings.asp, line 32

jag har tittat på raden och det är inga stavfel eller extra saker som inte ska vara med.. hrä kommer raden,

oConn.execute("UPDATE ResultatTabellen SET Match = '"&maatch&"',Anv = '"&anv&"',Lirat = '"&lirat&"',Resultat = '"&resultat&"',Insatts = '"&insatts&"',Vinst_Forlust = '"&VF&"',Datum = '"&datum&"',Odds = '"&odds&"' where BetID = '"&BetId&"'")

det är ingen radbrytning i den där jag har skrivit den. det är denna sida som bryter raderna..

[Redigerat av gucken den 05 okt 2001]

Medlem sedan juni 200032 967 inlägg
#14

Vad har du för datatyper på fälten i tabellen?

Felmeddelandet antyder att du har apostrofer runt ett värde där du inte skall ha det.

Är fältet av text- eller pm-typ skall du ha apostrofer runt värdet. Är fältet av datumtyp är det brädgård som gäller. Räknare och talfält: ingenting.

Har du fält i frågan av typen tal, id-kolumnen till exempel, ta alltså bort apostroferna runt värdet.

oConn.execute("UPDATE ResultatTabellen SET Match = '"&maatch&"',Anv = '"&anv&"',Lirat = '"&lirat&"',Resultat = '"&resultat&"',Insatts = '"&insatts&"',Vinst_Forlust = '"&VF&"',Datum = '"&datum&"',Odds = '"&odds&"' where BetID = "&BetId)

Mvh,

------------------
All your base are belong to me.

Medlem sedan sep. 2001287 inlägg
#15

tja såhär skrev jag typerna, dom ska stämma med databasen.

datum = cstr(date)
BetId = request.querystring("BetId")
maatch = cstr(request.querystring("match"))
lirat = cstr(request.querystring("lirat"))
resultat = cstr(request.querystring("resultat"))
odds = cdbl(request.querystring("odds"))
anv = cstr(request.querystring("anvnamn"))
insatts= cdbl(request.querystring("insatts"))

det e det att nu när jag har ändrat efter reglerna du berättade för mig så får jag felmedelandet att det är zyntax error i update statement ist.
dessa felmeddelande förbryllar mig ordentligt..

[Redigerat av gucken den 05 okt 2001]

Medlem sedan juni 200032 967 inlägg
#16

Det skulle vara intressant att se hur den färdiga SQL-frågan ser ut innan du exekverar den. Lägg in frågan i en variabel och gör en kontrollutskrift av den med response.write.

Alltså:

strSQL = "UPDATE ..."
Response.Write strSQL
oConn.execute strSQL,,128 ' Eftersom frågan inte returnerar ett recordset

Hur ser utskriften ut?

Det skulle också kunna vara så att Datum är ett reserverat ord. Prova att klamra det:

... [Datum] = '"&datum&"' ...

Angående dina fälttyper så spelar det egentligen ingen roll vilken subtypskonvertering du gör i din asp-sida, eftersom du bakar ihop allting till en SQL-fråga, som hur som helst är en sträng. Det intressanta är tabelldefinitionen i databas.

Mvh,

------------------
All your base are belong to me.

Medlem sedan sep. 2001287 inlägg
#17

den skrevs ut såhär

UPDATE ResultatTabellen SET Match='djurgården - AIK', Anv='gucken', Lirat='1', Resultat='2' ,Insatts=70, Vinst_Forlust=70, Datum='2001-10-05', Odds=1,3 where BetID=8

[Redigerat av gucken den 05 okt 2001]

Medlem sedan juni 200032 967 inlägg
#18

Aha!

Ditt odds innehåller kommatecken, det får det inte göra, då tolkas det helt galet i SQL-satsen. Du får använda replace för att byta ut det mot en decimalpunkt.

... ,Odds = '"& Replace (odds, ",", ".") &"' ...

Om du får fel ändå, klamra Datum som jag föreslog ovan.

Mvh,

------------------
All your base are belong to me.

Medlem sedan sep. 2001287 inlägg
#19

men isf blir juh oddest helt felande. för databasen tar bort punkterna så oddet blir 13 ist för 1,3 eller 1.3
jag lyckades få till det tidigare innan jag beslöt mig för att skriva om alltihopa. men olyckligt vis så förorsakades den gammla koden så jag kan inte gå tillbaka och titta.

Medlem sedan juni 200032 967 inlägg
#20

Tar databasen bort punkterna? Då har du fel fälttyp. Standardinställning för ett fält av typen tal är om jag inte missminner mig Långt heltal. Det får du ändra till decimaltal.

Mvh,

------------------
All your base are belong to me.

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