25. marts 2002 - 14:46Der er
7 kommentarer og 1 løsning
et exempel på at opdatere flere records på een gang ?
Har nogen et exempel på hvordan man opdaterer flere records på een gang ? jeg har et exempel selv, men det virker ikke, når jeg sætter mere end eet kryds i afstemningen (se fejlen nederst) : ' kør en løkke 87 gange, sæt c=1, hvis u_input er tom sæt c=0, sql = indsæt i tabellen ballot, i felterne ip og s + u_input ' (feks. s3, s4 eller s87), værdierne "brugerens ipnr" og 1eller nul (som c er = med baseret på u_inputs værdi) ' "formen" er en stemmeseddel med Checkbox´s, dvs. man kan vælge flere end een. Hver checkbox hedder u_input og ' værdien af checkbox´n er sat = 1 til 87, efter gennemløb af en løkke som henter indhold af en database (med 87 emner)
<p>Næste mapcycle..Top 20 vinder !<br> <form method="post" action="<%= request.servervariables("script_name") %>"> <% i = 1 DO WHILE NOT rs.EOF %> <%response.write i%> <input type="checkbox" value="<%=i%>" name="u_input"><%=rs("maptitel")%><br> <% i = i + 1 rs.movenext loop rs.close Conn.close set Conn = nothing %> <input type="submit" value="Submit" ></p> </form>
' her i mellem er noget kontrol på om man har stemt før, baseret på ens ip-adresse..det virker så jeg skriver det ikke med ' her kommer mit "problembarn" :
for x = 1 to 87 c=1 if u_input = "" then c=0 sql = "insert into ballot (ip, s" & u_input &") " sql = sql & "values ('" & u_ip & "',c)" rs.Open sql, cn next end if
Fejlen jeg får er denne :
Error Type: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access-driver] Antallet af forespørgselsværdier og destinationsfelter er ikke det samme. /vote_dbdenne.asp, line 68
Browser Type: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Jeg prøvede at sætte dit forslag ind. det gav samme fejl : Error Type: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access-driver] Antallet af forespørgselsværdier og destinationsfelter er ikke det samme. /vote_dbdenne.asp, line 69
Browser Type: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
ok .. men jeg tror nu alligevel at det skal gøres :)
hvorfor bliver u_input sendt 3 gange med forskellig værdi? (se under "POST data" i fejl-rapporten). Har du flere felter af samme navn? (dette burde helst undgås)
.. det fixer måske ikke dit problem .. blot en kommentar :)
Jeg har "lånt" en kode fra en anden; entusiast. Oprindeligt var aspkoden lavet til at sætte en meget simpel afstemning op. Den foregik med "radio"-knapper (hvor man KUN kan vælge een). Jeg har omkodet, stort set hele scriptet, men hidtil har jeg bibeholdt de der "radio"knapper. Nu er det meningen, at man skal kunne "stemme" på flere; op til 20 emner, på een gang, derfor lavede jeg "radio" om til checkbox, men det har jo så også resulteret i at der kommer en række u_input værdier i stedet for kun een. Hvis men "nøjes" med at vælge een, med checkbox, virker det stadig, så det er altså et ? om hvordan man indsætter flere værdier på een gang.
jeg har databasenavn : votes_db indeholder tabeller : ballot og maps ballot indeholder : ip (text), s1 (tal), s2 ..-> s87 og entered (datofelt) maps indeholder : id (autonum) og maptitel (text)
jeg kan desværre ikke hjælpe dig med dit problem, men jeg kan da sige så meget, at dine checkboxes skal alle have forskellige navne for at du skal kunne skelne mellem dem!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.