'Ser efter om brugeren er oprettet i databasen StrSQL = "SELECT * FROM Bruger where Fornavn = '" & Fornavn & "' AND Efternavn = '" & Efternavn & "' AND Brugernavn = '" & Brugernavn & "' AND Password = '" & Password & "'" Set RS = Conn.Execute(strSQL)
'Hvis ikke brugeren er oprettet i databasen ' If RS.BOF then
' SQL forespørgsel strSQL = "UPDATE Bruger SET Fornavn ='"& Fornavn &"',Efternavn ='"& Efternavn &"',Brugernavn='"& Brugenavn &"',Password='"& Password &"',Brugertype ='"& Brugertype &"',Kreds ='"& Kreds &"',Firma ='"& Firma &"',Adresse ='"& Adresse &"',Pnr ='"& Pnr &"',By ='"& By &"',Tlf ='"& Tlf &"',Email ='"& Email &"',CV ='"& CV &"' WHERE BrugerID ="& BrugerID &" " set RS = Conn.Execute(strSQL)
Virksomheder er på vej fra store sprogmodeller, der svarer på spørgsmål, til AI-agenter, der kan udføre opgaver på egen hånd. Det gør teknologien mere nyttig – og langt mere risikabel.
det er vel ikke sp smart at din sql selecter ud med fornavn, efternavn, brugernavn og password - hvad nu hvis brugeren ændrer en af disse? Så vil din select give EOF og din update vil aldrig blive kørt. Du skal derimod nok hellere føre brugerens ID med videre fra den forrige side og i din select bare sige 'WHERE id = " & BrugerID'
Der er heller ingen umiddelbar grund til at nulstille dine variabler.
Men du sådan her ? 'Ser efter om brugeren er oprettet i databasen StrSQL = "SELECT * FROM Bruger where BrugerID = '" & BrugerID & "'" Set RS = Conn.Execute(strSQL)
Jeg er desværre tilbage med dene fejlmeddelelse? Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i UPDATE-sætningen.
Hvorvidt du skal bruge fornavn, efternavn osv. til at finde brugeren på afhænger noget af hvordan du kommer ind til denne kode, for hvis du bare præsenterer brugeren for en formular, hvori de kan indtaste deres oplysninger uden nogen forudgående identificering af brugeren, kan du være nød til at søge efter brugeren på den måde du startede med. Hvis du derimod lader brugeren udvælge sine oplysninger (f.eks. via login eller sådan noget), så er jeg grundliggende enig med keysersoze i at det er bedre at benytte brugerens ID til at finde hem med.
Nu har jeg ændret det for go ordens skyld til "Bynavn" men har nu et andet problem da den ikke vil opdatere en bruger, da den hele tiden går videre til at brugeren allerede er opdateret.. Hvad har jeg gjort forkert der??
'Ser efter om brugeren er oprettet i databasen StrSQL = "SELECT Brugernavn FROM Bruger where Brugernavn = '" & Brugernavn & "'" Set RS = Conn.Execute(strSQL)
' Hvis ikke brugeren er oprettet i databasen If RS.BOF then
Else Response.write "<center><br><font color='#003366' size='2' face='Verdana, Arial, Helvetica, sans-serif'>Det indtastede brugernavn er allerede i brug<br><br><a href='java script:history.back(-1)'>Klik her for at indtaste oprette en anden bruger</a></font></center>" Conn.Close Set Conn = Nothing End if
ElseIf Request.Form("slet") = "SLET" Then
strSQL = "Delete * From Bruger Where BrugerID = " & Request.Querystring("BID") Conn.Execute(strSQL)
Else Response.write "<center><br><font color='#003366' size='2' face='Verdana, Arial, Helvetica, sans-serif'>Det indtastede brugernavn / password er allerede i brug<br><br><a href='java script:history.back(-1)'>Klik her for at indtaste oprette en anden bruger</a></font></center>" Conn.Close Set Conn = Nothing End if
I din opdatering er det jo også et kriterie at brugeren IKKE findes før du opdaterer og det er umiddelbart forkert. Du skal teste på om rs.bof = false og ikke true som du gør nu.
'Ser efter om brugeren er oprettet i databasen StrSQL = "SELECT * FROM Bruger Where BrugerID = " & BrugerID & " " Set RS = Conn.Execute(strSQL)
'Hvis brugeren er oprettet i databasen If not RS.BOF then
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.