Tjena!
Jag undrar varför funkar inte detta:
<% If Request.Querystring("tabort") Then
SQL = "SELECT * FROM dr WHERE ID = " & Request.QueryString("Tabort") & " "
Set Recset = Connect.Execute(SQL)
RecSet.Delete
End If%>
Fär detta felet:
ADODB.Recordset fel '800a0cb3'
Åtgärden som programmet begärt stöds inte av leverantören.
------------------
.................
LarsGMedlem sedan dec. 200012 464 inlägg Ditt recordset är readonly.
<% If Request.Querystring("tabort") Then
SQL = "delete FROM dr WHERE ID = " _
& Request.QueryString("Tabort")
Connect.Execute SQL,,128
End If%>
är min rekommendation.
------------------
essentitia preter non sans multiplicandum
PaceMedlem sedan juni 20019 024 inlägg Åtgärden som programmet begärt stöds inte av leverantören.
Microsoft har lagt ned mycket möda på att göra felmeddelandena så begripliga och korrekta som möjligt!
------------------
Peter D
Tack, för hjälpen men nu har jag en ny fråga som är den att jag oxå använde:
RecSet.Update som inte funka går det att skriva om denna typ så att den funkar som en UPDATE?
------------------
.................
@ndersMedlem sedan juni 200032 969 inlägg strSQL = "UPDATE tblTable SET Field1 = 'value1', Field2 = 'value2' WHERE Field3 = 'value3'
mvh,
------------------
mördar-anders, det är jag.
[Redigerat av @nders den 22 aug 2001]
LarsGMedlem sedan dec. 200012 464 inlägg Ja. Du behöver enbart använda recordset om du skall hämta data, aldrig när du modifierar data. Det är effektivare att använda update/delte/insert.
------------------
essentitia preter non sans multiplicandum
PaceMedlem sedan juni 20019 024 inlägg Kan du förklara lite närmare vad delte är för något LarsG? :e
Jag är visst petnoga idag... :) :) :)
------------------
Peter D
LarsG:
Hur ska jag ändra koden du skrev om jag vill ha den som en update för tabellen namn & nadress och tabellen: dr?
------------------
.................
LarsGMedlem sedan dec. 200012 464 inlägg Jag antar att du skickar id i querystring och att du har två fält där man man matar in de nya värdena för namn och adress
'anslut till databas
sql = "update dr set namn = '" & _
request.form("namn") & "'," & _
"adress = '" & _
request.form("adress") & "'" & _
" where id = " & request.querystring("id")
conn.execute sql,,128
'stäng saker och ting
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 22 aug 2001]
Jag har tagit bort alla _ så får jag ett ett Syntaxfel i UPDATE uttryck vad kan det betyda?
------------------
.................
LarsGMedlem sedan dec. 200012 464 inlägg _ skall vara kvar. Det betyder att man fortsätter på nästa rad, annars så tolkas radslut som slut på statement.
Det är enklast att upptäcka syntaxfel om man lägger till en utskrift av sqlsatsen och inte gör någon execute.
Dvs
'anslut till databas
sql = "update dr set namn = '" & _
request.form("namn") & "'," & _
"adress = '" & _
request.form("adress") & "'" & _
" where id = " & request.querystring("id")
response.write "SQL: " & sql & "<br>"
'conn.execute sql,,128
'stäng saker och ting
------------------
essentitia preter non sans multiplicandum
Vad kan vara fel med detta?
<% If Request.Querystring("sparaandringarID") Then
SQL = "UPDATE konton SET knamn = '" & Request.Form("knamn") & "'," & _
"durl = '" & Request.Form("durl") & "'," & _
"dbanner = '" & Request.Form("dbanner") & "'," & _
"dalt = '" & Request.Form("dalt") & "'," & _
"aurl = '" & Request.Form("aurl") & "'," & _
"abanner = '" & Request.Form("abanner") & "'," & _
"aalt = '" & Request.Form("aalt") & "'," & _
" WHERE ID = " & Request.Form("ID")
Connect.Execute SQL,,128
End If%>
------------------
.................
LarsGMedlem sedan dec. 200012 464 inlägg Det skall inte vara något komma före where.
<% If Request.Querystring("sparaandringarID") Then
SQL = "UPDATE konton SET knamn = '" & Request.Form("knamn") & "'," & _
"durl = '" & Request.Form("durl") & "'," & _
"dbanner = '" & Request.Form("dbanner") & "'," & _
"dalt = '" & Request.Form("dalt") & "'," & _
"aurl = '" & Request.Form("aurl") & "'," & _
"abanner = '" & Request.Form("abanner") & "'," & _
"aalt = '" & Request.Form("aalt") & "'" & _
" WHERE ID = " & Request.Form("ID")
Connect.Execute SQL,,128
------------------
essentitia preter non sans multiplicandum
LarsG har du ICQ?
Skulle behöva hjälp med en stor ASPfil...
Mitt ICQ är: 108083233
------------------
.................
LarsGMedlem sedan dec. 200012 464 inlägg Nej, jag har inte ICQ.
------------------
essentitia preter non sans multiplicandum
Jag mailar dig koden då...
------------------
.................
LarsGMedlem sedan dec. 200012 464 inlägg Det har jag väl inte bett om. Ett hundratal rader är väl inte så farligt att lägga upp.
------------------
essentitia preter non sans multiplicandum
Kej rå...
Här är den...
<%@ Language=VBScript%>
<!--#include file="adovbs.inc"-->
<% Response.Buffer = True%>
<html>
<head>
<title>Banneradmin - _ _ _ _ _ _.nu</title>
</head>
<body>
Meny:<p>
Visa Lista efter:<br>
<a href="banneradmin.asp?ordna=in">In</a><br>
<a href="banneradmin.asp?ordna=ut">Ut</a><br>
<a href="banneradmin.asp?byte=nytt">Lägg till Nytt Bannerbyte</a><br>
<hr>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("bannerdb.mdb")
%>
<%If Request.Querystring("ordna") = "in" Then%>
<table border="0" width="100%">
<tr>
<td width="52%">Namn</td>
<td width="13%">In</td>
<td width="13%">Ut</td>
<td width="11%"></td>
<td width="11%"></td>
</tr>
</table>
<%
SQL = "SELECT * FROM konton ORDER BY inklick DESC"
Set RecSet = Connect.Execute(SQL)
If RecSet.EOF Then
%>
Inga bannerbyten hittades...
<%
Else
Do Until RecSet.EOF
ID = RecSet("ID")
knamn = RecSet("knamn")
inklick = RecSet("inklick")
utklick = RecSet("utklick")
%>
<table border="0" width="100%">
<tr>
<td width="52%"><%=knamn%></td>
<td width="13%"><%=inklick%></td>
<td width="13%"><%=utklick%></td>
<td width="11%"><a href="banneradmin.asp?andraID=<% =ID%>">Ändra</a></td>
<td width="11%">Ta bort</td>
</tr>
</table>
<%
RecSet.MoveNext
Loop
End If
%>
<%End If%>
<%If Request.Querystring("ordna") = "ut" Then%>
<table border="0" width="100%">
<tr>
<td width="52%">Namn</td>
<td width="13%">In</td>
<td width="13%">Ut</td>
<td width="11%"></td>
<td width="11%"></td>
</tr>
</table>
<%
SQL = "SELECT * FROM konton ORDER BY utklick DESC"
Set RecSet = Connect.Execute(SQL)
If RecSet.EOF Then
%>
Inga bannerbyten hittades...
<%
Else
Do Until RecSet.EOF
ID = RecSet("ID")
knamn = RecSet("knamn")
inklick = RecSet("inklick")
utklick = RecSet("utklick")
%>
<table border="0" width="100%">
<tr>
<td width="52%"><%=knamn%></td>
<td width="13%"><%=inklick%></td>
<td width="13%"><%=utklick%></td>
<td width="11%"><a href="banneradmin.asp?andraID=<% =ID%>">Ändra</a></td>
<td width="11%">Ta bort</td>
</tr>
</table>
<%
RecSet.MoveNext
Loop
End If
%>
<%End If%>
<%If Request.Querystring("byte") = "nytt" Then%>
<hr>
<form method="POST" action="banneradmin.asp?byte?spara">
<table border="0" width="90%">
<tr>
<td width="50%"><b>Information:</b></td>
<td width="50%"></td>
</tr><tr>
<td width="50%">
<p align="right">Kontonamn</p>
</td>
<td width="50%"><input type="text" name="knamn" size="20"></td>
</tr><tr>
<td width="50%"></td>
<td width="50%"></td>
</tr><tr>
<td width="50%"><b>Din sidas Detaljer</b></td>
<td width="50%"></td>
</tr><tr>
<td width="50%" align="right">Sid URL:</td>
<td width="50%"><input type="text" name="durl" size="20" value="http://"></td>
</tr><tr>
<td width="50%" align="right">Banner URL</td>
<td width="50%"><input type="text" name="dbanner" size="20" value="http://"></td>
</tr><tr>
<td width="50%" align="right">Banner ALT</td>
<td width="50%"><input type="text" name="dalt" size="20"></td>
</tr><tr>
<td width="50%"></td>
<td width="50%"></td>
</tr><tr>
<td width="50%"><b>Detaljer för Sidan du byter med</b></td>
<td width="50%"></td>
</tr><tr>
<td width="50%" align="right">Sid URL:</td>
<td width="50%"><input type="text" name="aurl" size="20" value="http://"></td>
</tr><tr>
<td width="50%" align="right">Banner URL</td>
<td width="50%"><input type="text" name="abanner" size="20" value="http://"></td>
</tr><tr>
<td width="50%" align="right">Banner ALT</td>
<td width="50%"><input type="text" name="aalt" size="20"></td>
</tr><tr>
<td width="50%"></td>
<td width="50%"></td>
</tr></table>
<table border="0" width="100%">
<tr><td width="50%">
<p align="right"><input type="submit" value="Skicka" name="skicka">
</p>
</td>
<td width="50%"><input type="reset" value="Återställ" name="tom"></td>
</tr></table>
</form>
<%End If%>
<%If Request.Querystring("byte") = "spara" Then%>
<%
durl = Request.Form("durl")
dbanner = Request.Form("dbanner")
dalt = Request.Form("dalt")
aurl = Request.Form("aurl")
abanner = Request.Form("abanner")
aalt = Request.Form("aalt")
SQL = "INSERT INTO konton (durl,dbanner,dalt,aurl,abanner,aalt)VALUES ('" & durl & "','" & dbanner & "','" & dalt & "','" & aurl & "','" & abanner & "','" & aalt & "')"
Set RecSet = Connect.Execute(SQL)
Response.Redirect "banneradmin.asp?byte=sparad"
%>
<%End If%>
<%If Request.Querystring("byte") = "spara" Then%>
Bannerbyte Sparat!
<a href="banneradmin.asp?kodID=<%=ID%>">Klicka här för att generera kod</a>
<%End If%>
<%If Request.Querystring("andraID") Then%>
Kommer snart!
<%
SQL = "SELECT * FROM konton WHERE ID = " & Request.QueryString("andraID") & " "
Set Recset = Connect.Execute(SQL)
ID = RecSet("ID")
knamn = RecSet("knamn")
durl = RecSet("durl")
dbanner = RecSet("dbanner")
dalt = RecSet("dalt")
aurl = RecSet("aurl")
abanner = RecSet("abanner")
aalt = RecSet("aalt")
%>
<hr>
<form method="POST" action="banneradmin.asp?sparaandringarID=<% =ID%>">
<table border="0" width="90%">
<tr>
<td width="50%"><b>Information:</b></td>
<td width="50%"></td>
</tr><tr>
<td width="50%">
<p align="right">Kontonamn</p>
</td>
<td width="50%"><input type="text" name="knamn" size="20" value="<% =knamn%>"></td>
</tr><tr>
<td width="50%" align="right"></td>
<td width="50%"><input type="hidden" name="ID" size="20" value="<% =ID%>"></td>
</tr><tr>
<td width="50%"></td>
<td width="50%"></td>
</tr><tr>
<td width="50%"><b>Din sidas Detaljer</b></td>
<td width="50%"></td>
</tr><tr>
<td width="50%" align="right">Sid URL:</td>
<td width="50%"><input type="text" name="durl" size="20" value="<% =durl%>"></td>
</tr><tr>
<td width="50%" align="right">Banner URL</td>
<td width="50%"><input type="text" name="dbanner" size="20" value="<% =dbanner%>"></td>
</tr><tr>
<td width="50%" align="right">Banner ALT</td>
<td width="50%"><input type="text" name="dalt" size="20" value="<% =dalt%>"></td>
</tr><tr>
<td width="50%"></td>
<td width="50%"></td>
</tr><tr>
<td width="50%"><b>Detaljer för Sidan du byter med</b></td>
<td width="50%"></td>
</tr><tr>
<td width="50%" align="right">Sid URL:</td>
<td width="50%"><input type="text" name="aurl" size="20" value="<% =aurl%>"></td>
</tr><tr>
<td width="50%" align="right">Banner URL</td>
<td width="50%"><input type="text" name="abanner" size="20" value="<% =abanner%>"></td>
</tr><tr>
<td width="50%" align="right">Banner ALT</td>
<td width="50%"><input type="text" name="aalt" size="20" value="<% =aalt%>"></td>
</tr><tr>
<td width="50%"></td>
<td width="50%"></td>
</tr></table>
<table border="0" width="100%">
<tr><td width="50%">
<p align="right"><input type="submit" value="Skicka" name="skicka">
</p>
</td>
<td width="50%"><input type="reset" value="Återställ" name="tom"></td>
</tr></table>
</form>
<%End If%>
<% If Request.Querystring("sparaandringarID") Then
SQL = "UPDATE konton SET knamn = '" & Request.Form("knamn") & "'," & _
"durl = '" & Request.Form("durl") & "'," & _
"dbanner = '" & Request.Form("dbanner") & "'," & _
"dalt = '" & Request.Form("dalt") & "'," & _
"aurl = '" & Request.Form("aurl") & "'," & _
"abanner = '" & Request.Form("abanner") & "'," & _
"aalt = '" & Request.Form("aalt") & "'" & _
" WHERE ID = " & Request.Form("ID")
Connect.Execute SQL,,128
'Response.write "SQL: " & sql & "<br>"
End If%>
<%
RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
%>
</body>
</html>
Ok felet är:
Objekt krävs.: 'RecSet'
Hoppas du klarar det...
------------------
.................
[r] Lagt till kod-taggen [/r]
[Redigerat av emission den 24 aug 2001]
Upp......
------------------
.................
LarsGMedlem sedan dec. 200012 464 inlägg I två av dina if-grenar så skapas inget öppet recordset.
I dessa
<%If Request.Querystring("byte") = "spara" Then%>
<%
och
<% If Request.Querystring("sparaandringarID") Then
I den du gör insert så returneras ett tomt recordset från execute. Det är bättre att skriva
connect.execute sql,,128
som du gör i din sista if
I den sista så skapas inget recordset överhuvudtaget.
Jag tycker att du bör flytta in
recset.close
enbart inom de grenar där du skapar ett recordset.
------------------
essentitia preter non sans multiplicandum