/ Forside/ Teknologi / Udvikling / ASP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
kodeskift <- fejl i kode
Fra : plobber
Vist : 306 gange
68 point
Dato : 19-05-03 21:36

Har prøvet at få disse 2 sider til at opdatere min database ved hjælp af en form, men det virker ikk... hva er der galt ???

her er changepass.asp:

<form method="post" action="change.asp">
<table border="0" cellspacing="0" width="228" height="125">
<tr>
<td width="78" height="25"><p>Password:</td>
<td width="165" height="25"><input type="password" name="Password"></td>
</tr>
<input type="hidden" Name="Mode" Value="change"></td>
<tr>
<td width="78" height="25"><input type="submit" value="Change"></td>
</td>
</table>
</form>

og her er change.asp:

<%
if request ("mode") = "change" then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
Conn.Open DSN

strSQL = "Update admin set "
strSQL = strSQL & " password = Request.Form('Password')"
strSQL = strSQL & " Where login = Session('ID')"

Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing
else
Response.redirect "defaultlogged.asp"
end IF
%>

 
 
Kommentar
Fra : smorch


Dato : 19-05-03 21:59

password ='"& Request.Form('Password') &"'"

Kommentar
Fra : smorch


Dato : 19-05-03 22:04

Where login ="& Session('ID')&";"

Kommentar
Fra : smorch


Dato : 19-05-03 23:25

Forklaring :

Når du i scriptsprog laver en sætning til en sql-forespørgsel i hvilken du vil have variable værdier ind, "bygger" du en sætning / tekststreng

Dvs. hvis du vil have en tekststreng til udskrift bruger du response.write "Hallo verden"

Hvis denne skal være: hallo det er i dag d. 19/5-2003 (idag)

response.write "hallo det er i dag d. " & Now
Altså teksten og så varieblen udenfor ""

Det samme glder så for sql strengen, men der skal du også huske om felterne i databasen er tal eller tekststrenge. Tekststrenge skal have en ' omkring sig.


Kommentar
Fra : plobber


Dato : 20-05-03 08:41

nu ser min change.asp sådan her ud, men virker ikk.. :/

<%
if request ("mode") = "change" then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
Conn.Open DSN

strSQL = "Update admin set "
strSQL = strSQL & " password ='"& Request.Form('Password') &"'"
strSQL = strSQL & " Where login ="& Session('ID')&";"

Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing
Response.redirect "defaultlogged.asp"
else
Response.redirect "defaultlogged.asp"
end IF
%>

Kommentar
Fra : plobber


Dato : 20-05-03 09:15

jeg får beskeden:

Microsoft VBScript compilation error '800a03ea'

Syntax error
change.asp, line 9
strSQL = strSQL & " password ='"& Request.Form('Password') &"'"

Kommentar
Fra : smorch


Dato : 20-05-03 09:30

Request.Form('Password') skal være med dobbeltpling " og ikke enkelt '

Det er kun i en tekststreng mellem " " hvor du ville have brugt " omkring fx. attributterne i en html tag (fx.: response.write "<a href='Spørg'>www.kandu.dk'>Spørg bare</a>" ) at du skal bruge enkelt '

Request.Form("Password")
Det samme gælder Session('ID') som skal være:
Session("ID")

Mvh

sMorch

Kommentar
Fra : plobber


Dato : 20-05-03 13:14

nu ser min change.asp sådan ud, men den virker stadig ikk... :(

<%
if request ("mode") = "change" then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
Conn.Open DSN


strSQL = "Update admin set "
strSQL = strSQL & " password ="'"& Request.Form("Password") &"'"
strSQL = strSQL & " Where login ="& Session("ID")&";"

Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing
else
Response.redirect "defaultlogged.asp"
end IF
%>

jeg er gået lidt meget død lige nu...

Kommentar
Fra : smorch


Dato : 20-05-03 13:57

Det ville hjælpe hvis du kunne vise mig fejlen.

Hvilken database er det ? Access 2000 ?
Prøv denne:
<%
if request ("mode") = "change" then
STRDBNAVN="database.mdb"'denne værdi ændres til din databases navn
DSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""& STRDBNAVN & "")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open DSN

strSQL = "Update admin set password ='"& Request.Form("Password") &"' Where login ="& Session("ID")&";"

Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing
else
Response.redirect "defaultlogged.asp"
end IF
%>

Kommentar
Fra : plobber


Dato : 20-05-03 14:17

Databasen er access 2000...


Kommentar
Fra : smorch


Dato : 20-05-03 14:53

Og fejlmeddelelsen ?



Kommentar
Fra : plobber


Dato : 20-05-03 17:35

Microsoft JET Database Engine error '80040e14'
Syntax error in UPDATE statement.
/tmkguild/change.asp, line 11

<- dette gælder det du har lavet

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.
/tmkguild/change.asp, line 13

<-- dette gælder det sidste jeg havde min change.asp til..
håber det hjalp

Kommentar
Fra : plobber


Dato : 22-05-03 15:48

Nu er jeg ved at prøve dette igen:
Ny kode i change.asp
<!--#include file="beskyt.asp"-->
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
Conn.Open DSN
Password = Request.Form("Password")
Login = Session("ID")
Update admin set password = Password Where login = Login
Conn.Close
Set Conn = Nothing
Response.redirect "defaultlogged.asp"
%>

fejl kode:

Microsoft VBScript compilation error '800a0401'

Expected end of statement

/tmkguild/change.asp, line 9

Update admin set password = Password Where login = Login
-------------^


Hva skal jeg gøre ??? det er nok rimlig irreterende...


Kommentar
Fra : smorch


Dato : 22-05-03 16:13

Nu er jeg ved at prøve dette igen:
Ny kode i change.asp
<!--#include file="beskyt.asp"-->
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
Conn.Open DSN
Password = Request.Form("Password")
Login = Session("ID")

strSQL = "Update admin set password ='" Password &"' Where login ="& login &";"

Conn.Execute(strSQL)
Conn.Close
Set Conn = Nothing
Response.redirect "defaultlogged.asp"
%>


Kommentar
Fra : plobber


Dato : 22-05-03 18:25

Microsoft VBScript compilation error '800a0401'
Expected end of statement
/tmkguild/change.asp, line 10
strSQL = "Update admin set password ='" Password &"' Where login ="& login &";"
----------------------------------------^


Kommentar
Fra : plobber


Dato : 22-05-03 18:28

satte lige point tallet lidt op.

Kommentar
Fra : plobber


Dato : 22-05-03 18:29

Pilen stopper ved Password.!!!

Kommentar
Fra : smorch


Dato : 22-05-03 18:51

Ups det glemte jeg password er et beskyttet ord i sql, så der skal [] omkring

strSQL = "Update admin set [password] ='" Password &"' Where login ="& login &";"

Kommentar
Fra : plobber


Dato : 22-05-03 20:11

Microsoft VBScript compilation error '800a0401'
Expected end of statement
/tmkguild/chane.asp, line 10

strSQL = "Update admin set [password] ='" Password &"' Where [login] ="& login &";"
------------------------------------------^
nu stopper den ved det næste.. har prøvet at sætte [] om det, men virker ikk...

Kommentar
Fra : plobber


Dato : 22-05-03 20:11

Microsoft VBScript compilation error '800a0401'
Expected end of statement
/tmkguild/chane.asp, line 10

strSQL = "Update admin set [password] ='" Password &"' Where [login] ="& login &";"
------------------------------------------^
nu stopper den ved det næste.. har prøvet at sætte [] om det, men virker ikk...

Kommentar
Fra : plobber


Dato : 22-05-03 20:12

ups :S 2 gange.. sorry..

Kommentar
Fra : plobber


Dato : 20-07-03 10:41

Lukker.. fik det til at virke...

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177429
Tips : 31962
Nyheder : 719565
Indlæg : 6407948
Brugere : 218878

Månedens bedste
Årets bedste
Sidste års bedste