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
20 svar · 222 visningar · startad av gucken
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
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
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.
<input type="hidden" name="anvnamn" value="<% =anvnamn%>">
------------------
essentitia preter non sans multiplicandum
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?
Förstår nog inte riktigt vad du menar. Hur då directas?
------------------
essentitia preter non sans multiplicandum
tja response.redirect
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")
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."
Tja, du kan lägga på grejs i urlen
response.redirect "page.asp?x=1"
------------------
essentitia preter non sans multiplicandum
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.
response.redirect "page.asp?x=" & variabel
------------------
essentitia preter non sans multiplicandum
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]
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.
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]
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.
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]
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.
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.
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.