webForumDet fria alternativet

Söker förbättrad uppdate...

ASP

11 svar · 244 visningar · startad av SannyW

Medlem sedan jan. 2003438 inlägg
Frågan#1

Då var det dax igen, jag och mina problem. Jo jag har ett uppdateringsscript som jag vill förbättra men jag hittar inte riktigt rätt. Jag har idag en default.sida och en uppdate????.asp för att uppdatera varje kolumn.

Någon som känner sig mogen att komma men synpunkter på hur man kan lösa detta så man typ har två sidor istället för åtta?

Vill på något sätt sända en givare till update att det gäller just den kolumen.

Jag vill men inte hjärnan :q , se lösningen.............

Är tacksam för synpunkter, ev. även lösningar. Om någon ger sig på detta så förklara gärna som man förklarar för en ettåring. Jag känner att jag är på den nivån just nu när det gäller asp :)

Har precis lärt mig krypa, försöker nu resa mig upp.......

default.asp

<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("stat.mdb")

	Set RecSet = Server.CreateObject("ADODB.Recordset")
   Visa = "SELECT * FROM stat ORDER BY namn"
   RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>

<p>Klicka bara på Plus och Minus</p>

<table border="0" cellpadding="3" cellspacing="3"> 

<tr>
<td>Namn</td>
<td></td>
<td>Matcher</td>
<td></td>
<td></td>
<td>Mål</td>
<td></td>
<td></td>
<td>Ass</td>
<td></td>
<td></td>
<td>Utv</td>
<td></td>
</tr>
<%	Do Until RecSet.EOF %>

<tr>
<td><% =RecSet("namn") %></td>
<td><a href="updatematcher1.asp?ID=<% =RecSet("id") %>"><img src="_.gif" border="0"></A></td>
<td align="center"><% =RecSet("matcher") %></td>
<td><a href="updatematcher.asp?ID=<% =RecSet("id") %>"><img src="+.gif" border="="></A></td>
<td><a href="updatemal1.asp?ID=<% =RecSet("id") %>"><img src="_.gif" border="0"></A></td>
<td align="center"><% =RecSet("mål") %></td>
<td><a href="updatemal.asp?ID=<% =RecSet("id") %>"><img src="+.gif" border="="></A></td>
<td><a href="updateass1.asp?ID=<% =RecSet("id") %>"><img src="_.gif" border="0"></A></td>
<td align="center"><% =RecSet("ass") %></td>
<td><a href="updateass.asp?ID=<% =RecSet("id") %>"><img src="+.gif" border="="></A></td>
<td><a href="updateutv1.asp?ID=<% =RecSet("id") %>"><img src="_.gif" border="0"></A></td>
<td align="center"><% =RecSet("utv") %></td>
<td><a href="updateutv.asp?ID=<% =RecSet("id") %>"><img src="+.gif" border="="></A></td>

</tr>

<%	RecSet.MoveNext
	Loop
	RecSet.Close %>
</table>

updateass.asp

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("stat.mdb")
SQL = "UPDATE stat SET ass = ass--1 WHERE ID = "&Request.Querystring("ID")&""
Conn.Execute(SQL)

Conn.Close

Response.Redirect "default.asp" 
%>
Medlem sedan okt. 2001615 inlägg
#2

har du 8 olika uppdate sidor?
är det SQL uttrycket som är olika?

ge ett par exempel på update sidor!

Medlem sedan jan. 2003438 inlägg
#3

Jag har en + och en - för varje kolumn. Se nedan:

För att lägga till ett i kolumnen ass.

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("stat.mdb")
SQL = "UPDATE stat SET ass = ass--1 WHERE ID = "&Request.Querystring("ID")&""
Conn.Execute(SQL)

Conn.Close

Response.Redirect "default.asp" 
%>

För att ta bort 1 från kolumnen ass.

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("stat.mdb")
SQL = "UPDATE stat SET ass = ass-1 WHERE ID = "&Request.Querystring("ID")&""
Conn.Execute(SQL)

Conn.Close

Response.Redirect "default.asp" 
%>

Tänkte att man eventuellt kunde lägga allt i
<a href="update.asp?ID=<% =RecSet("id") %>">&Kolumn=ass&value=--1

Men har inte hittat riktigt rätt ännu.... :q

Medlem sedan okt. 2001615 inlägg
#4

testa detta

<a href="update.asp?ID=<% =RecSet("id") %">&Kolumn=ass&value=--1
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("stat.mdb")
SQL = "UPDATE stat SET " & Kolumn &" = " & Kolumn & value & " WHERE ID = "& Request.Querystring("ID") &""
Conn.Execute(SQL)

Conn.Close

Response.Redirect "default.asp" 
%>
Medlem sedan jan. 2003438 inlägg
#5

Fan gillade inte alls smaken på det......

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i UPDATE-uttryck.
/ubk/admin/stat/updateass1.asp, line 6

Jag var inne på samma men skrev

SQL = "UPDATE stat SET "&Request.Querystring("KOLUMN")&" = ("&Request.Querystring("KOLUMN")&"-"&Request.Querystring("VALUE")&")" WHERE ID = "&Request.Querystring("ID")&""

Hmm....

Medlem sedan juni 200032 967 inlägg
#6

Istället för att göra execute på SQL-frågan, skriv ut den med Response.Write, så du får se vad den innehåller.

mvh,

Medlem sedan jan. 2003438 inlägg
#7

Vet inte riktigt om du menade detta men @nders:

ADODB.Connection (0x800A0BB9)
Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt.
/ubk/admin/stat/updateass1.asp, line 6

Medlem sedan juni 200032 967 inlägg
#8

Huh?

Nej... Det jag menade var

SQL = "UPDATE stat SET "&Request.Querystring("KOLUMN")&" = ("&Request.Querystring("KOLUMN")&"-"&Request.Querystring("VALUE")&")" WHERE ID = "&Request.Querystring("ID")
Response.write SQL
'Conn.Execute(SQL)

Mvh,

Medlem sedan jan. 2003438 inlägg
#9

Tack @nders, nu var jag med på vad som skulle göras. Kan bara skratt åt sig själv :)

Men problemen kvarstår.................

länken som startar allt är:

<a href="updateass1.asp?ID=<% =RecSet("id") %>&kolumn=ass&value=-1"><img src="_.gif" border="0"></A>

Om jag kör detta:

SQL = "UPDATE stat SET "&Request.Querystring("KOLUMN")&" = ("&Request.Querystring("KOLUMN")&"-"&Request.Querystring("VALUE")&")" WHERE ID = "&Request.Querystring("ID")

så får jag:
Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A0401)
Slut på programsats förväntas.
/ubk/admin/stat/updateass1.asp, line 4, column 129
SQL = "UPDATE stat SET "&Request.Querystring("KOLUMN")&" = ("&Request.Querystring("KOLUMN")&"-"&Request.Querystring("VALUE")&")" WHERE ID = "&Request.Querystring("ID")""
--------------------------------------------------------------------------------------------------------------------------------^

Men om jag gör så här:

SQL = "UPDATE stat SET " & Kolumn &" = " & Kolumn & value & " WHERE ID = "& Request.Querystring("ID") &""

så funkar något och Response.write skriver:

UPDATE stat SET = WHERE ID = 2

men adressen är :updateass1.asp?ID=2&kolumn=ass&value=-1

Nu är jag förlorad, hittar inte vad som är fel? Vad är det jag missar ???

Medlem sedan juni 200032 967 inlägg
#10

Det blev lite konstigt med alla citationstecken. Prova detta:

Kolumn = Request.Querystring("kolumn")
value = Request.Querystring("value")
SQL = "UPDATE stat SET " & Kolumn &" = " & Kolumn & value & " WHERE ID = "& Request.Querystring("ID")

Du måste ge dina variabler värden innan du kan använda dem.

mvh,

Medlem sedan jan. 2003438 inlägg
#11

TACK @nders!!!

Det där med att ge variablerna ett värde innan var guldvärt :)

Nu har jag lärt mig något nytt igen!! Och slipper si sådär ca. 20 asp-filer.

Utveckling från :q till :o

inte illa.....:)

Tack än en gång till Alla som hjälper mig här inne....

Medlem sedan juni 200032 967 inlägg
#12

np!

SannyW skrev:

Utveckling från :q till :o

Kan vi förvänta oss :) om en vecka då? ;)

Lycka till!

mvh,

265 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)