07. juli 2003 - 17:42Der er
18 kommentarer og 1 løsning
min update sætning virker ikk
jeg har den her update funktion som skal opdatere til min database, posterne den skal opdater er defineret i en form på siden inden. her er opdate stykket min databaseconnection bliver lavet på hoved-dokumentet: adminID = (Request.Cookies("admin"))
database connection: <% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("db/database.mdb") %> men når jeg vil opdatere giver den mig følgende fejl: Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access-driver] Der er en ugyldig SQL-sætning. "DELETE", "INSERT", "PROCEDURE","SELECT" eller "UPDATE" var ventet. /clan/ssi_midt/ret_admin_ind.asp, line 14
jeg er ved at omformuler sitet fra Javascript til VBScript... hved java virkede det..
ok jeg her lidt lost der... men skal nok kigge lidt på det men når jeg ændre det mit til : sql= "UPDATE admin SET " sql= sql& "navn='"&request.Form("navn")&"'" sql= sql& "Email='"&request.Form("email")&"'" sql= sql& "ommig='"&request.Form("ommig")&"'" sql= sql& "pass='"&request.Form("pass")&"'" SQL = SQL& "WHERE adminID=" + adminID
OBS sidste line er der hvor den definere den der skal opdateres
så kommer følgende fejl. Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "'admin'Email='admin@admin.dk'ommig='jaja'pass='admin'". /clan/ssi_midt/ret_admin_ind.asp, line 14 det jeg ikk forstår er at jeg skulle mangle navn men det er med i min update...
conn.execute(sql) "response.write sql" end if %> <div align="center"><font size="3" face="Verdana"> <% if (status = OK) then %> </font><font size="3" face="Verdana"> du er har rettet dit bruger info til: <br> </font> <table width="468" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="468">navn</td> <td width="468"><%=Request.Form("navn")%></td> </tr> <tr> <td width="468">Rank</td> <td width="468"><%=Request.Form("rank")%></td> </tr> <tr> <td width="468"><font size="3" face="Verdana">Email:</font></td> <td width="468"><font size="3" face="Verdana"><%=Request.Form("email")%> </font></td> </tr> <tr> <td width="468" height="21">Om dig</td> <td width="468"><%=Request.Form("ommig")%></td> </tr> <tr> <td width="468" height="21"><font size="3" face="Verdana">Password:</font></td> <td width="468"><font size="3" face="Verdana"><%=Request.Form("pass")%></font></td> </tr> </table> <a href="default.asp"> Tilbage til forside</a> <% else %> </div> <h1 align="center">Fejl</font></h1> <div align="center">Der opstod en fejl i forbindelse med afsending af dit brugerinfo, </div> <p align="center"> <% end if %>
nu giver den denne fejl: Fejltype: Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401) Slut på sætning var ventet /clan/ssi_midt/ret_admin_ind.asp, line 12, column 30 sql= sql& "WHERE adminID='" adminID&"'"
eagleeye den nederste af dine virkede smidder du et svar får du points men!!! hvordan validere jeg de intastet data squashguy det var dig der snakkede om det 30 point til dig oxo eller en anden der kan hjælpe mig med det... jeg har lavet replace på min login men hvordan med resten og hvordan laver jeg så jeg er sikker på de har indtastet en mail i formatet: navn@domain.xxx jeg vil gerne have det placeret i koden fra Kommentar: brops 07/07-2003 19:03:38
men den jeg har lavet, er der en replace som laver en ping ' om til to pinger ''. I SQL bruges ' til at starte og stoppe en streng præsis på samme måse som " bruge omkring strenge i ASP koden. Skal man havde en ' til databasen skal man skrive to efter hinanden '' så blvier det til en ' i teksten.
Her er en function jeg bruger som er lavet til ASP koden:
Function IsEmail(str) Dim ieRegEx Set ieRegEx = New RegExp ieRegEx.Pattern = "^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$" IsEmail = ieRegEx.Test(str) End Function
Og du kalder den sådn her:
email = Request.Form("email") if isEmail(email) = false then Repsonse.Write "Fejl i E-mail adressen prøv igen" fejl = true end if
det er lige meget hvor det skal bare være så det er sikkert at imailen er valid... prøver den du smed
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.