webForumDet fria alternativet

fel...

16 svar · 169 visningar · startad av tronez

tronezMedlem sedan juli 2001728 inlägg
#1

vad e det som e fel?

<!-- #include file="adovbs.inc" -->
	 <% Response.Buffer = true %>
	 
	 <%	
	 Set Connect = Server.CreateObject("ADODB.Connection") 
	 Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("data/db.mdb")&";"
	 Set RecSet = Server.CreateObject("ADODB.Recordset")
	 %>
	 <%
	 
	 
     SQL = "SELECT * FROM players WHERE playerID = " & Request.QueryString("playerID") & ""
	 RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
	 
	 RecSet("ownID") = session("teamID")
	 RecSet.Update
	 RecSet.Close
	 
	 %>
	 	
	 <%
	 
	 SQL ="UPDATE users Set eko='"&tot&"' Where id="&session("teamID")&" "
	 RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
	 pris = Request.Form("pris")
	 eko = RecSet("ekonomi") 
	 tot = eko - pris 
	
	 RecSet.Update
	 RecSet.Close
	 Response.Redirect "team.asp?teamID="& session("teamID")&""
	 %>

Får felmeddelandet:

Microsoft OLE DB Provider for ODBC Drivers fel '80040e10' 

[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 2 förväntades. 

/soccer/do_buy.asp, rad 24

Tack på förhand...

------------------
aka Lexmarc

RinaldoMedlem sedan mars 20014 214 inlägg
#2

Vilken rad är 24?

------------------
En vis man käftar alltid emot, ty han kan inte hava fel!

tronezMedlem sedan juli 2001728 inlägg
#3
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic

------------------
aka Lexmarc

webzonenMedlem sedan feb. 2001390 inlägg
#4
SQL = "SELECT * FROM players WHERE playerID = " & Request.QueryString("playerID") & ""

skall vara:

SQL = "SELECT * FROM players WHERE playerID = " & Request.QueryString("playerID")

och

SQL ="UPDATE users Set eko='"&tot&"' Where id="&session("teamID")&" "

skll vara

SQL ="UPDATE users Set eko='"&tot&"' Where id='"&session("teamID")&"' "

eller
WHERE id=" & Session("TeamID")

testa dessa!

------------------
En sak livet lärt mig är att idioterna oftast har rätt

tronezMedlem sedan juli 2001728 inlägg
#5

nu får jag ett annat fel på rad 24

RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
Microsoft OLE DB Provider for ODBC Drivers fel '80040e07' 

[Microsoft][Drivrutin för ODBC Microsoft Access] Typblandningsfel i villkorsuttryck. 

/soccer/do_buy.asp, rad 24

vad är det som är fel?

------------------
aka Lexmarc

[Redigerat av tronez den 01 jan 2002]

PatrikBMedlem sedan mars 20002 836 inlägg
#6

På rad 23, skriv:

Response.Write SQL

så får vi se hur sql-frågan ser ut innan den exekveras.

cya,
PatrikB

------------------
-=* IF there is a wrong way to do something, then someone will do it *=-

tronezMedlem sedan juli 2001728 inlägg
#7

så här såg det ut då

UPDATE users Set ekonomi='' WHERE teamID=-1380859573

koden ser ut så här

 <%
	 
	 strSQL ="UPDATE users Set ekonomi='"&pris&"' WHERE teamID=" & session("teamID")
	 Response.Write strSQL

	 RecSet.Open strSQL, Connect, adOpenStatic, adLockOptimistic
	 pris  = money - price
	 money = RecSet("ekonomi")
	 price = Request.Form("pris")
	
	 RecSet.Update
	 RecSet.Close
	 Response.Redirect "team.asp"
	 %>

------------------
aka Lexmarc

[Redigerat av tronez den 01 jan 2002]

[Redigerat av tronez den 01 jan 2002]

[Redigerat av tronez den 01 jan 2002]

[Redigerat av tronez den 01 jan 2002]

jorgenMedlem sedan feb. 20012 412 inlägg
#8

Hej, variabeln pris är tom.

Var får du det värdet ifrån?
Är det den uträkningen som kommer efter?
I så fall får du göra uträkningen innan du använder pris.

mvh Jörgen :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

tronezMedlem sedan juli 2001728 inlägg
#9

menar du så här?

money = RecSet("ekonomi")
	 price = Request.Form("pris")
	 bank  = money - price
	 pris  = bank

------------------
aka Lexmarc

jorgenMedlem sedan feb. 20012 412 inlägg
#10

Du måste definiera pris och se till så att variabeln har ett värde innan du gör din UPDATE.

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

tronezMedlem sedan juli 2001728 inlägg
#11

ok... jag fattar att jag måste göra det innan jag gör en UPDATE, men vart ska jag definera dom nånstans, jag måste ju öppna ett nytt RecSet sen stänga den, å då e det ju borta när jag ska UPDATE..
vad ska jag göra?

------------------
aka Lexmarc

jorgenMedlem sedan feb. 20012 412 inlägg
#12

Kan vi få se lite mer kod?

mvh Jörgen :)

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

tronezMedlem sedan juli 2001728 inlägg
#13

så här ser hela koden ut

	 <!-- #include file="adovbs.inc" -->
	 <% Response.Buffer = true %>
	 
	 <%	
	 Set Connect = Server.CreateObject("ADODB.Connection") 
	 Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("data/db.mdb")&";"
	 Set RecSet = Server.CreateObject("ADODB.Recordset")
	 
	 %>
	
	  <%
	 SQL = "SELECT * FROM players WHERE playerID = " & Request.QueryString("playerID")
	 RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
	 
	 RecSet("ownID") = session("teamID")
	 RecSet.Update
	 RecSet.Close
	 %>	
	 
	 
	 'vart?
	 strPris  = strBank
	 strMoney = RecSet("ekonomi")  
 	 strPrice = Request.Form("pris")  
	 strBank  = strMoney - strPrice
	 'vart?
	 
	 <%
	 strSQL ="UPDATE users Set ekonomi='"&strPris&"' WHERE teamID=" & session("teamID")
	 RecSet.Open strSQL, Connect, adOpenStatic, adLockOptimistic 
	 Response.Write strSQL
	 
	 RecSet.Update
	 RecSet.Close
	 Response.Redirect "team.asp"
	 %>

just nu får jag felmeddelande

Microsoft OLE DB Provider for ODBC Drivers fel '80040e07' 

[Microsoft][Drivrutin för ODBC Microsoft Access] Typblandningsfel i villkorsuttryck. 

/soccer/do_buy.asp, rad 25

där rad 25 är:

RecSet.Open strSQL, Connect, adOpenStatic, adLockOptimistic

------------------
aka Lexmarc

[Redigerat av tronez den 01 jan 2002]

jorgenMedlem sedan feb. 20012 412 inlägg
#14

Mycket otestad kod:

<% Response.Buffer = true 

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("data/db.mdb")&";"

SQL = "SELECT ekonomi FROM players WHERE playerID = " & Request.QueryString("playerID")
set rs = Connect.execute(SQL)

strMoney = rs("ekonomi") 
strPrice = Request.Form("pris") 
strBank = strMoney - strPrice

rs.close()
set rs = nothing

strSQL ="UPDATE users Set ekonomi = '"& strBank &"' " & _
" WHERE teamID=" & session("teamID")

Connect.execute strSQL,,128

Response.Write strSQL

Connect.close()
set Connect = nothing

Response.Redirect "team.asp"
%>

------------------
.: Det är jag som ger svaren och det är Ni som ställer frågorna :.

tronezMedlem sedan juli 2001728 inlägg
#15

ok, nu har jag nästan fått det att funka...
behöver bara hjälp med att se va det e för fel på det här stycket

SQL ="UPDATE users Set ekonomi='"&strPris&"' Where teamID='"&session("teamID")&"' "
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic

det sägs att det är fel på den koden

UPDATE users Set ekonomi='315500000' Where teamID='-1380859573' 
Microsoft OLE DB Provider for ODBC Drivers fel '80040e07' 

[Microsoft][Drivrutin för ODBC Microsoft Access] Typblandningsfel i villkorsuttryck. 

/soccer/do_buy.asp, rad 14

------------------
aka Lexmarc

[Redigerat av tronez den 02 jan 2002]

juventus1Medlem sedan dec. 2000399 inlägg
#16

Hej!

teamID är väl ett tal inte en sträng? Då borde detta fungera:

SQL ="UPDATE users Set ekonomi='"&strPris&"' Where teamID="&session("teamID")
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic

------------------
mvh André

PatrikBMedlem sedan mars 20002 836 inlägg
#17

och strPris borde väl vara av typen tal och inte text ....

Då borde detta funka:

SQL ="UPDATE users Set ekonomi="&strPris&" Where teamID="&session("teamID")
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic

cya,
PatrikB

------------------
-=* IF there is a wrong way to do something, then someone will do it *=-

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