Avatar billede martin86 Nybegynder
17. juli 2005 - 16:53 Der er 16 kommentarer og
1 løsning

update til access

Hej eksperter..

Jeg har en problem med at opdatere min database, her er min kode:

profilid = Request.QueryString("profilid")
navn = Replace(Trim(Request.form("navn")), "'", "''")
mobil = Replace(Trim(Request.form("mobil")), "'", "''")
mobil_synlig = Replace(Trim(Request.form("mobil_synlig")), "'", "''")
email = Replace(Trim(Request.form("email")), "'", "''")
email_synlig = Replace(Trim(Request.form("email_synlig")), "'", "''")
foedt_dag = Replace(Trim(Request.form("foedt_dag")), "'", "''")
foedt_mdr = Replace(Trim(Request.form("foedt_mdr")), "'", "''")
foedt_aar = Replace(Trim(Request.form("foedt_aar")), "'", "''")
tekst = Replace(Trim(Request.form("tekst")), "'", "''")
 
SQLopdaterprofil = "Update klassen set navn = '"&navn&"', mobil = "&mobil&", mobil_synlig = '"&mobil_synlig&"', email = '"&email&"', email_synlig = '"&email_synlig&"', foedt_dag = "&foedt_dag&", foedt_mdr = "&foedt_mdr&", foedt_aar = "&foedt_aar&", tekst = '"&tekst&"' where id = " & Request.QueryString("profilid")

Conn.Execute(SQLopdaterprofil)
Response.Redirect "default.asp?profilid="& profilid &""


------------------------------------
Den skriver ikke til min database og den sender heller ikke den rigtige" adresse i Response.Redirect ...

-Martin
Avatar billede martin86 Nybegynder
17. juli 2005 - 16:55 #1
det skal siges at mobil, foedt_dag/mdt/aar er "tal" i access databasen
Avatar billede busschou Praktikant
17. juli 2005 - 17:02 #2
hvis den hverken opdaterer din database eller videresender eller giver dig en fejl?
Så må der være en betingelse højere oppe i dit script som gør at den stopper eller springer opdateringen over
Avatar billede martin86 Nybegynder
17. juli 2005 - 17:03 #3
den giver mig en fejl:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'id='.
/klassehhbdk/hh3b/asp/login/default.asp, line 38


if mode="opdater_profil" then

profilid = Request.QueryString("profilid")
navn = Replace(Trim(Request.form("navn")), "'", "''")
mobil = Replace(Trim(Request.form("mobil")), "'", "''")
mobil_synlig = Replace(Trim(Request.form("mobil_synlig")), "'", "''")
email = Replace(Trim(Request.form("email")), "'", "''")
email_synlig = Replace(Trim(Request.form("email_synlig")), "'", "''")
foedt_dag = Replace(Trim(Request.form("foedt_dag")), "'", "''")
foedt_mdr = Replace(Trim(Request.form("foedt_mdr")), "'", "''")
foedt_aar = Replace(Trim(Request.form("foedt_aar")), "'", "''")
tekst = Replace(Trim(Request.form("tekst")), "'", "''")
 
SQLopdaterprofil = "Update klassen set navn = '"&navn&"', mobil = "&mobil&", mobil_synlig = '"&mobil_synlig&"', email = '"&email&"', email_synlig = '"&email_synlig&"', foedt_dag = "&foedt_dag&", foedt_mdr = "&foedt_mdr&", foedt_aar = "&foedt_aar&", tekst = '"&tekst&"' where id = " & Request.QueryString("profilid")

Conn.Execute(SQLopdaterprofil)
Response.Redirect "default.asp?profilid="& profilid &""

end if%>

<head>
    <title>Brugermenu for <%SQLinfo ="Select * from klassen where id=" & request.querystring("profilid")
Set info = Conn.Execute(SQLinfo)%><%=info("navn")%><%info.close%></title> <--- linie 38
<meta name="Generator" content="Stone's WebWriter 4">
<meta name="Author" content="Steen Hjelmstrand" />
<link rel="stylesheet" href="../../style/style.css" type="text/css">
Avatar billede martin86 Nybegynder
17. juli 2005 - 17:04 #4
det nederste er jo ikke en fejl men min kode indtil fejlen
Avatar billede busschou Praktikant
17. juli 2005 - 17:04 #5
nå jamen det er vel fordi profilid er tom
Avatar billede busschou Praktikant
17. juli 2005 - 17:05 #6
fejlen kommer i linjen med
Set info = Conn.Execute(SQLinfo)
ergo er fejlen i den anden sql med
SQLinfo ="Select * from klassen where id=" & request.querystring("profilid")
og kunne tyde på at
request.querystring("profilid") er tom
Avatar billede martin86 Nybegynder
17. juli 2005 - 17:06 #7
her er starten af min form:

<%SQLprofil ="Select * from klassen where id=" & request.querystring("profilid")
Set profil = Conn.Execute(SQLprofil)%>

<h3>Rediger din profil</h3>

<form method="post" action="default.asp?mode=opdaterprofil?profilid=<%=profil("id")%>">
Avatar billede martin86 Nybegynder
17. juli 2005 - 17:07 #8
ja så langt kom jeg også, jeg forstår bare ikke hvorfor den er tom, det burde den ikke....
Avatar billede busschou Praktikant
17. juli 2005 - 17:07 #9
du kan jo se i din adresselinje om den er tom ;o)
Avatar billede busschou Praktikant
17. juli 2005 - 17:07 #10
hvis den er tom der så er det fordi den er tom inden
Dvs så er den tom i din
SQLprofil ="Select * from klassen where id=" & request.querystring("profilid")
Avatar billede busschou Praktikant
17. juli 2005 - 17:07 #11
eller nej
Avatar billede martin86 Nybegynder
17. juli 2005 - 17:08 #12
nej fordi den viser det der er i databasen i felterne i min form - hvis du forstår
Avatar billede busschou Praktikant
17. juli 2005 - 17:08 #13
du mangler jo et &
det skal ikke være
action="default.asp?mode=opdaterprofil?profilid=<%=profil("id")%>
men
action="default.asp?mode=opdaterprofil&profilid=<%=profil("id")%>
Avatar billede busschou Praktikant
17. juli 2005 - 17:09 #14
ellers har du jo kun een lang "mode" som den eneste querystring ;o)
Avatar billede martin86 Nybegynder
17. juli 2005 - 17:10 #15
FUCK, lav et svar :) - jeg havde set mig totalt blind på den SQL opdatering, at jeg ikke tænkte på hvor det hele startede

- tak
Avatar billede busschou Praktikant
17. juli 2005 - 17:10 #16
hehe sådan kan man jo stirre sig blind engang imellem :o)
godt det virker!
Avatar billede martin86 Nybegynder
17. juli 2005 - 17:11 #17
ja sådan er det jo :) - tak for hjælpen

SPM. LUKKET
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