27. januar 2005 - 16:17Der er
6 kommentarer og 2 løsninger
Kan nogen se hvad fejlen er her?
Hej
Jeg har her nedenfor et ASP-script som skal ændre en værdi i nogle angivne felter. Altså alle de stedet hvor idUser er det som den har fået vir dens querystring...
<% Rfile = request.querystring("file") idUser = request.querystring("idUser") Dim rs
'Creating the Recordset Object Set rs = Server.CreateObject("ADODB.RecordSet")
'Creating a DSN-Less connection to your Database strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db.mdb")
if rs.EOF then response.redirect "../main.asp?idUser=" & request.querystring("idUser") & "" else Do Until rs.EOF
rs("pic") = "" & Rfile & ""
rs.MoveNext Loop rs.close set rs = Nothing response.redirect "../main.asp?idUser=" & request.querystring("idUser") & "" end if %>
Men det der sker i stedet er at den bare ændre hele kolonnen i tabellen i stedet... Og den ændrer alså ikke kun der hvor idUser er det som det skal være, men hele kolonnen i tabellen...
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Du kan bruge en mere direkte metode til at opdatere rækker i en tabel, nemlig:
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db.mdb") set conn = Server.CreateObject("ADODB.Connection") SQL = "UPDATE deFIRST SET pic='" & Rfile & "' WHERE idUser='" & idUser & "'" conn.Open conn.Execute(SQL) conn.Close set conn = nothing
Ovenstående kode forudsætter at idUser rent faktisk er en text i databasen. Hvis det er en tal (som det vil være hvis det er AutoNumber), så skal du fjerne opostrofferne omkring idUser i SQL'en...
Synes godt om
Slettet bruger
27. januar 2005 - 23:12#3
Hej
Det virker altså stadig ikke! Heller ikke selvom jeg har fulgt de ovenstående anvisninger... Det den gør, er stadig at den bare overskriver samtlige poster i min tabel i den kolonne som hedder "pic", med det den nu har fået besked på... Så den er stadig ligeglad med "idUser"-ordren. Alså om at det kun er der hvor idUser er noget bestemt at den skal overskrive...
Koden som stadig ikke virker ser nu sådan her ud:
<% Rfile = request.querystring("file") idUser = request.querystring("idUser") Dim rs
'Creating the Recordset Object Set rs = Server.CreateObject("ADODB.RecordSet")
'Creating a DSN-Less connection to your Database strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db.mdb")
on error resume next ' slå standard fejlmeddelelser fra
set conn = Server.CreateObject("ADODB.Connection") showError conn.Open showError conn.Execute(SQL) showError conn.Close showError set conn = nothing
on error goto 0 ' slå standard fejlmeddelelser til igen...
sub showError() ' err er det globale objekt som indeholder den seneste fejl ' der er opstået. Denne skal checkes umiddelbart efter den ' sætning som man vil undersøge for fejl, ellers vil err ' blive overskrevet med fejlkoden for den næste sætning ' (og hvis den går godt bliver fejlobjektet nulstillet og ' du ignorerer dermed den pågældende fejl på siden). if err.number <> 0 then ' Så kan man redirect'e til en anden side eller skrive en inline besked Response.Write "Err: " & err.number & " / " & err.Description & "<br>" on error resume next ' bare luk forbindelsen, hvis den ikke er åben fejler ' kaldet, men det er jo ligemeget for vi har slået ' fejlhåndtering fra... ikke pænt, man burde checke ' om forbindelsen er åben inden man lukker conn.close Response.End end if end sub
Synes godt om
Slettet bruger
31. januar 2005 - 13:59#8
Hej
Nu virker det!!! Tusind tak skal du have!!!
Med venlig hilsen
Dan
Synes godt om
Ny brugerNybegynder
Din løsning...
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.