Avatar billede chris1289 Nybegynder
30. maj 2005 - 15:01 Der er 23 kommentarer og
1 løsning

Update til accesdatabase med asp

Jeg har fejl i min update sætning og aner ikke hvilken, kan nogen hjælpe???

Koden er:

<!--#include file ="ConnectionTilDatabase.asp" -->
<!--#include file ="kontrol.asp" -->

<%

SQL = "UPDATE Bruger"
SQL = SQL & " SET VærelseID = " & request.querystring("VærelseID") & ", "
SQL = SQL & "Fornavn = '" & request.querystring("Fornavn") & "', "
SQL = SQL & "Efternavn = '" & request.querystring("Efternavn") & "', "
SQL = SQL & "Password = '" & request.querystring("Password") & "', "
SQL = SQL & "Postnr = " & request.querystring("Postnr") & ", "
SQL = SQL & "Adresse = '" & request.querystring("Adresse") & "', "
SQL = SQL & "Telefon = '" & request.querystring("Telefon") & "', "
SQL = SQL & "Email = '" & request.querystring("Email") & "', "
SQL = SQL & "CPRnummer = " & request.querystring("CPRnummer") & " "

SQL = SQL & " WHERE MedlemsID=" & q  & ";"

'response.write sql
conn.Execute(SQL)
conn.close
Response.Redirect("Rediger.asp")
%>

Fejlen er:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i UPDATE-sætningen.
/Asp opgaver/Gemredigerbruger.asp, line 20
Avatar billede busschou Praktikant
30. maj 2005 - 15:04 #1
hvor kommer q fra ?
Avatar billede busschou Praktikant
30. maj 2005 - 15:04 #2
prøv udskrive din sql inden du executer den og hvis hvad den siger
Avatar billede chris1289 Nybegynder
30. maj 2005 - 15:09 #3
q kommer fra  : 
q = Request.QueryString("id")
if q <> "" then
q = CInt(q)


ok
Avatar billede busschou Praktikant
30. maj 2005 - 15:12 #4
ok det var jo ikke til at se
Men hvis q = "" ...så fejler din sql vel
Avatar billede chris1289 Nybegynder
30. maj 2005 - 15:13 #5
Den siger:

UPDATE Bruger SET VærelseID = , Fornavn = '', Efternavn = '', Password = '', Postnr = , Adresse = '', Telefon = '', Email = '', CPRnummer = WHERE MedlemsID=;


den henter jo ikke noget derfra hva skal man så gøre??
Avatar billede chris1289 Nybegynder
30. maj 2005 - 15:14 #6
Nej det er rigtigt sorry...
hva gør jeg så?
Avatar billede busschou Praktikant
30. maj 2005 - 15:14 #7
er det fra en form?
Så hedder det jo request.form i stedet for request.querystring
Avatar billede busschou Praktikant
30. maj 2005 - 15:15 #8
der må være noget helt galt siden ingen værdier kommer med jo
Avatar billede chris1289 Nybegynder
30. maj 2005 - 15:15 #9
det er her fra:

<HTML>
<HEAD>
<TITLE>Log in</TITLE>
</HEAD>
<BODY>
<table width="100%"  border="0" cellspacing="0">
  <tr>
    <td width="30%">&nbsp;</td>
    <td width="60%">
<%
q = Request.QueryString("id")
if q <> "" then
q = CInt(q)

    SQL="Select * from Bruger where MedlemsID=" & q
  set rs = Conn.execute(SQL)
  if not (rs.bof or rs.eof) then
    Str = str & "<table>"
    Str = str & "<Form Action=""Gemredigerbruger.asp"" Method=""post"">"
    Str = str & "<tr><td colspan=""2""><h2>Medarbejder oplysninger</h2></td></tr>"
    Str = str & "<tr><Input type=""Hidden"" Name=""brugerid"" value=" & Request.QueryString("id") & " "
    Str = str & "<tr><td>VærelseID</td><td><Input type=""Text"" Name=""VærelseID"" value=""" & rs("VærelseID") & """></td></tr>"
    Str = str & "<tr><td>Fornavn</td><td><Input type=""Text"" Name=""Fornavn"" value=""" & rs("Fornavn") & """></td></tr>"
    Str = str & "<tr><td>Efternavn</td><td><Input type=""Text"" Name=""Efternavn"" value=""" & rs("Efternavn") & """></td></tr>"
    Str = str & "<tr><td>Password</td><td><Input type=""Text"" Name=""Password"" value=""" & rs("Password") & """></td></tr>"
    Str = str & "<tr><td>Postnr</td><td><Input type=""Text"" Name=""Postnr"" value=""" & rs("Postnr") & """></td></tr>"
    Str = str & "<tr><td>Adresse</td><td><Input type=""Text"" Name=""Adresse"" value=""" & rs("Adresse") & """></td></tr>"
    Str = str & "<tr><td>Telefon</td><td><Input type=""Text"" Name=""telefon"" value=""" &  rs("Telefon") & """></td></tr>"
    Str = str & "<tr><td>E-mail</td><td><Input type=""Text"" Name=""email"" value=""" & rs("email") & """></td></tr>"
    Str = str & "<tr><td>CPRnummer</td><td><Input type=""Text"" Name=""CPRnummer"" value=""" & rs("CPRnummer") & """></td></tr>"
    Str = str & "<tr><td></td><td align=""left""><Input type=""Submit"" Value=""Gem ændringer""></td></tr>"
    Str = str & "</FORM>"
    Str = Str & "</table>"
    else
        response.write "posten findes ikke i databasen!"
  End If

    response.write Str
    response.Write "<p><a href=""Medarbejderliste.asp"">Retur til Medarbejderlisten</a></p>"

  Conn.Close
  Set Conn = Nothing
else
  response.write "fejl i querystring.."
end if
%>
</body>
</html>
Avatar billede busschou Praktikant
30. maj 2005 - 15:20 #10
ja præcis.. form har method = post
Så alle dine "request.querystring" skal rettes til "request.form"
Avatar billede chris1289 Nybegynder
30. maj 2005 - 15:21 #11
okay tak....  :)
Avatar billede busschou Praktikant
30. maj 2005 - 15:22 #12
så lidt :o)
Avatar billede chris1289 Nybegynder
30. maj 2005 - 15:23 #13
Nu siger den jeg mangler en operator...


[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "MedlemsID=".
/Asp opgaver/Gemredigerbruger.asp, line 23
Avatar billede busschou Praktikant
30. maj 2005 - 15:26 #14
prøv udskrive den igen og sætte den herind.. så er det nok til at se
Avatar billede chris1289 Nybegynder
30. maj 2005 - 15:28 #15
UPDATE Bruger SET VærelseID = 1, Fornavn = 'Christian', Efternavn = 'Sørensen', Password = '190982', Postnr = 2610, Adresse = 'Rødovre Parkvej 203, 2sal', Telefon = '36413201', Email = 'bukkerup@hotmail.com', CPRnummer = 1909821289 WHERE MedlemsID=;
Avatar billede busschou Praktikant
30. maj 2005 - 15:32 #16
ok du overfører jo ikke værdien
q er ikke global mellem flere asp sider!
Du er nød til i din form at have værdien med i et hidden felt, altså ala
--
Str = str & "<input name=""MedlemsID"" type=""hidden"" value="""&q&""">"
--
Og så på den anden side bliver du nød til også have en
request.form("MedlemsID")
hvis du er med?
Avatar billede chris1289 Nybegynder
30. maj 2005 - 15:36 #17
den er jeg ikke helt med på
Avatar billede busschou Praktikant
30. maj 2005 - 15:38 #18
sådan her i den ene fil
---
<HTML>
<HEAD>
<TITLE>Log in</TITLE>
</HEAD>
<BODY>
<table width="100%"  border="0" cellspacing="0">
  <tr>
    <td width="30%">&nbsp;</td>
    <td width="60%">
<%
q = Request.QueryString("id")
if q <> "" then
q = CInt(q)

    SQL="Select * from Bruger where MedlemsID=" & q
  set rs = Conn.execute(SQL)
  if not (rs.bof or rs.eof) then
    Str = str & "<table>"
    Str = str & "<Form Action=""Gemredigerbruger.asp"" Method=""post"">"
    Str = str & "<tr><td colspan=""2""><h2>Medarbejder oplysninger</h2></td></tr>"
    Str = str & "<tr><Input type=""Hidden"" Name=""brugerid"" value=" & Request.QueryString("id") & " "
    Str = str & "<tr><td>VærelseID</td><td><Input type=""Hidden"" Name=""MedlemsID" value=""" & q & """><Input type=""Text"" Name=""VærelseID"" value=""" & rs("VærelseID") & """></td></tr>"
    Str = str & "<tr><td>Fornavn</td><td><Input type=""Text"" Name=""Fornavn"" value=""" & rs("Fornavn") & """></td></tr>"
    Str = str & "<tr><td>Efternavn</td><td><Input type=""Text"" Name=""Efternavn"" value=""" & rs("Efternavn") & """></td></tr>"
    Str = str & "<tr><td>Password</td><td><Input type=""Text"" Name=""Password"" value=""" & rs("Password") & """></td></tr>"
    Str = str & "<tr><td>Postnr</td><td><Input type=""Text"" Name=""Postnr"" value=""" & rs("Postnr") & """></td></tr>"
    Str = str & "<tr><td>Adresse</td><td><Input type=""Text"" Name=""Adresse"" value=""" & rs("Adresse") & """></td></tr>"
    Str = str & "<tr><td>Telefon</td><td><Input type=""Text"" Name=""telefon"" value=""" &  rs("Telefon") & """></td></tr>"
    Str = str & "<tr><td>E-mail</td><td><Input type=""Text"" Name=""email"" value=""" & rs("email") & """></td></tr>"
    Str = str & "<tr><td>CPRnummer</td><td><Input type=""Text"" Name=""CPRnummer"" value=""" & rs("CPRnummer") & """></td></tr>"
    Str = str & "<tr><td></td><td align=""left""><Input type=""Submit"" Value=""Gem ændringer""></td></tr>"
    Str = str & "</FORM>"
    Str = Str & "</table>"
    else
        response.write "posten findes ikke i databasen!"
  End If

    response.write Str
    response.Write "<p><a href=""Medarbejderliste.asp"">Retur til Medarbejderlisten</a></p>"

  Conn.Close
  Set Conn = Nothing
else
  response.write "fejl i querystring.."
end if
%>
</body>
</html>
Avatar billede busschou Praktikant
30. maj 2005 - 15:39 #19
sådan her i den anden
---
<!--#include file ="ConnectionTilDatabase.asp" -->
<!--#include file ="kontrol.asp" -->

<%

SQL = "UPDATE Bruger"
SQL = SQL & " SET VærelseID = " & request.form("VærelseID") & ", "
SQL = SQL & "Fornavn = '" & request.form("Fornavn") & "', "
SQL = SQL & "Efternavn = '" & request.form("Efternavn") & "', "
SQL = SQL & "Password = '" & request.form("Password") & "', "
SQL = SQL & "Postnr = " & request.form("Postnr") & ", "
SQL = SQL & "Adresse = '" & request.form("Adresse") & "', "
SQL = SQL & "Telefon = '" & request.form("Telefon") & "', "
SQL = SQL & "Email = '" & request.form("Email") & "', "
SQL = SQL & "CPRnummer = " & request.form("CPRnummer") & " "

SQL = SQL & " WHERE MedlemsID=" & request.form("MedlemsID")

'response.write sql
conn.Execute(SQL)
conn.close
Response.Redirect("Rediger.asp")
%>
Avatar billede chris1289 Nybegynder
30. maj 2005 - 15:43 #20
Der er fejl i den første... den siger..¨


Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401)
Slut på sætning var ventet
/Asp opgaver/Retbruger.asp, line 25, column 80
Str = str & "<tr><td>VærelseID</td><td><Input type=""Hidden"" Name=""MedlemsID" value=""" & q & """><Input type=""Text"" Name=""VærelseID"" value=""" & rs("VærelseID") & """></td></tr>"
Avatar billede busschou Praktikant
30. maj 2005 - 15:47 #21
mangler en gåse øjne
Str = str & "<tr><td>VærelseID</td><td><Input type=""Hidden"" Name=""MedlemsID"" value=""" & q & """><Input type=""Text"" Name=""VærelseID"" value=""" & rs("VærelseID") & """></td></tr>"
Avatar billede chris1289 Nybegynder
30. maj 2005 - 15:49 #22
Kanon nu virker det... RIGTIG MANGE GANGE tak
Avatar billede busschou Praktikant
30. maj 2005 - 15:49 #23
det var så lidt da :o) .. godt det virker
Avatar billede chris1289 Nybegynder
30. maj 2005 - 15:50 #24
ja det er lækkert, nu kan jeg skrive mit projekt... tak
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester