tronez Medlem sedan juli 2001 728 inlägg Trådstart 31 dec. 2001 15:10 #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...
tronez Medlem sedan juli 2001 728 inlägg RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
W webzonen Medlem sedan feb. 2001 390 inlägg 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!
tronez Medlem sedan juli 2001 728 inlägg 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?
P PatrikB Medlem sedan mars 2000 2 836 inlägg På rad 23, skriv:
Response.Write SQL
så får vi se hur sql-frågan ser ut innan den exekveras.
cya,
PatrikB
tronez Medlem sedan juli 2001 728 inlägg 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"
%>
J jorgen Medlem sedan feb. 2001 2 412 inlägg 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
tronez Medlem sedan juli 2001 728 inlägg menar du så här?
money = RecSet("ekonomi")
price = Request.Form("pris")
bank = money - price
pris = bank
J jorgen Medlem sedan feb. 2001 2 412 inlägg Du måste definiera pris och se till så att variabeln har ett värde innan du gör din UPDATE.
tronez Medlem sedan juli 2001 728 inlägg 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?
J jorgen Medlem sedan feb. 2001 2 412 inlägg Kan vi få se lite mer kod?
mvh Jörgen
tronez Medlem sedan juli 2001 728 inlägg 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
J jorgen Medlem sedan feb. 2001 2 412 inlägg 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"
%>
tronez Medlem sedan juli 2001 728 inlägg 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
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
P PatrikB Medlem sedan mars 2000 2 836 inlägg 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