Avatar billede no_doubt Nybegynder
19. august 2002 - 18:07 Der er 32 kommentarer og
1 løsning

Kan jeg bruge denne eller hva

Jeg vil gerne kunne opdatere alle mine felter, så jeg prøvede med denne :

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("Telefon.mdb")
Conn.Open DSN

navn = request.form("navn")
mail = request.form("mail")
mobiltlf = request.form("mobiltlf")


strSQL = "Update telefon set "
strSQL = strSQL & "navn = '" & navn & "', "
strSQL = strSQL & "mail = '" & mail & "', "
strSQL = strSQL & "mobiltlf = '" & mobiltlf & "', "



Conn.Execute(strSQL)


Conn.Close
Set Conn = Nothing
response.redirect("default.asp")


Men den meldte :

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.

/1Q/telefonliste/opdater.asp, line 83

Hvad kan jeg så bruge til at få opdateret alle på en gang, siden er :  http://www.fredericia-bynight.dk/1Q/telefonliste/opdater.asp
Avatar billede mr.meincke Nybegynder
19. august 2002 - 18:17 #1
Hvor skal den opdatere??????
strSQL = "Update telefon set "
strSQL = strSQL & "navn = '" & navn & "', "
strSQL = strSQL & "mail = '" & mail & "', "
strSQL = strSQL & "mobiltlf = '" & mobiltlf & "' WHERE id=1"

id=1 er kun et eksempel.....du kan jo rette det til det det skal være ;)

//Mr.Meincke
Avatar billede no_doubt Nybegynder
19. august 2002 - 18:19 #2
jamen  det skal være alle, min database ser sådan ud :

id    mandkvinde    navn    kortnavn    email    mobiltlf    privattlf    adresse
1    m    Mark Mikkelsen    Mark    mark.mikkelsen@mail.dk    22423530    75931812    Harevej 8
2    k    Anne Mette Jensen    Anne Mette        0    0   
3    k    Betina H Andersen    Betine        0    0   
4    m    Bjørn L. H. Jensen    Bjørn        0    0   
5    k    Christina Lange    Christina L        0    0   
6    m    Dan H Berthelsen    Dan        26827803    0   
7    m    Dennis L. Larsen    Dennis        0    0   
8    k    Henriette D. Christiansen    Henriette        0    0   
9    m    Henrik Løfvall Madsen    Hulemanden        0    0   
10    k    Hana Memisevic    Hana        0    0   
11    k    Julie Tea Holm    Julle        0    0   
12    k    Kristina Barret    Dyr        0    0   
13    k    Karina Erbo Andersen    Karina        0    0   
14    m    Kenni Korsgaard    Kenni        0    0   
15    k    Louise Nielsen    Louise        0    0   
16    k    Mia Bertelsen    Mia        0    0   
17    k    Mette Damkjær Poulsen    Mette P        0    0   
18    k    Marianne Edeling    Marianna        0    0   
19    k    Marlene Hansen    Marlene        0    0   
20    m    Morten Hougaard    Morten        0    0   
21    m    Michael Knudsen    Michael        0    0   
22    k    Matilde Koller Nielsen    Malte        0    0   
23    k    Mette Pedersen Andersen    Mette A        0    0   
24    k    Maj Winther Andreasen    Maj        0    0   
25    m    René Bøtker Pedersen    Rene        0    0   
26    m    Rasmus Nielsen    Rasmus        0    0   
27    m    Troels Brøchner Mikkelsen    Troels        0    0   
28    k    Tanja Vinter Jensen    Tanja        0    0
Avatar billede no_doubt Nybegynder
19. august 2002 - 18:20 #3
også på tryk på gem skal de gemme alle.
(http://www.fredericia-bynight.dk/1Q/telefonliste/opdater.asp)
Avatar billede prof2 Nybegynder
19. august 2002 - 19:04 #4
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
rs.open "Select * from [telefon]", dataconn, 1, 3

rs("navn") = trim(Request.Form("navn"))
rs("mail") = trim(Request.Form("mail"))
rs("mobiltlf") = trim(Request.Form("mobiltlf"))

rs.update
rs.close
Avatar billede prof2 Nybegynder
19. august 2002 - 19:05 #5
eller prøv først med at RETTE:
strSQL = strSQL & "mail = '" & mail & "', "

TIL:

strSQL = strSQL & "email = '" & mail & "', "
ELLER
strSQL = strSQL & "email = '" & email & "', "
Avatar billede no_doubt Nybegynder
19. august 2002 - 19:36 #6
Jeg prøver lige at forhøje lidt... og ligge min fil som den er op i en zip.
http://www.fredericia-bynight.dk/1Q/telefonliste/opdater.zip
Avatar billede no_doubt Nybegynder
19. august 2002 - 20:04 #7
okay... havde jeg ikke troet var sådan et problem.. hmm hvad kan jeg så gøre ?
Avatar billede coolcoder Nybegynder
19. august 2002 - 21:52 #8
fra den allerførst sql-streng skal du fjerne det sidste komma - det efter mobiltlf!!

men, men - du kommer ikke så langt når du har en form med mange felter, der har samme navn! Den første update ændrer ALLE posters værdi til det samme
Avatar billede no_doubt Nybegynder
19. august 2002 - 21:53 #9
jamen hvad gør jeg så ?
Avatar billede no_doubt Nybegynder
19. august 2002 - 21:53 #10
det må da kunne lade sig gøre..
Avatar billede no_doubt Nybegynder
19. august 2002 - 22:23 #11
Det kan ikke lade sig gøre, i asp eller hva ?
Avatar billede eagleeye Praktikant
19. august 2002 - 23:00 #12
Du skal gemme ID på alle records som skal opdateres som et hidden felt:

<input type="hidden" name="ID" value="<%=rs("id")%>">
De tilhørne formfelter skal så hedde navnXX emailXX hvor XX er ID.

<input type="text" name="navn<%=rs("id")%>".....>


Så form i din kode kommer til at se sådan ud:

        <tr>
          <td width="33%" align="center" style="border: 1px solid rgb(0,0,0)">
          <input type="hidden" name="ID" value="<%=rs("ID")%>">
          <input type="text" name="navn<%=rs("ID")%>" size="25" value="<%Response.write rs("navn")%>"></td>
          <td width="33%" align="center" style="border: 1px solid rgb(0,0,0)">
          <input type="text" name="mail<%=rs("ID")%>" size="25" value="<%Response.write rs("email") %>"></td>
          <td width="34%" align="center" style="border: 1px solid rgb(0,0,0)">
          <input type="text" name="mobiltlf<%=rs("ID")%>" size="10" value="<%Response.write rs("mobiltlf")%>"></td>
        </tr>
Avatar billede no_doubt Nybegynder
19. august 2002 - 23:02 #13
og hvordan med knappen og action osv.
Avatar billede eagleeye Praktikant
19. august 2002 - 23:03 #14
Koden som opdater databasen skal så se sådan ud:


Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("Telefon.mdb")
Conn.Open DSN

IDlist = request.form("ID") 'Giver en komma list
IDarray = Split(IDlist,",")

for i = Lbound(IDarray) to Ubound(IDarray)
  navn = request.form("navn" & IDarray(i))
  mail = request.form("mail" & IDarray(i))
  mobiltlf = request.form("mobiltlf" & IDarray(i))

  strSQL = "Update telefon set "
  strSQL = strSQL & "navn = '" & navn & "', "
  strSQL = strSQL & "mail = '" & mail & "', "
  strSQL = strSQL & "mobiltlf = '" & mobiltlf & "' "
  strSQL = strSQL & "WHERE ID = " & IDarray(i)

  Conn.Execute(strSQL)
Next

Conn.Close 
Set Conn = Nothing
response.redirect("default.asp")
Avatar billede eagleeye Praktikant
19. august 2002 - 23:05 #15
Denne form tag skal rettes:

<form method="POST" action="--WEBBOT-SELF--">

Så action er udfyldt med filnavnet på den fil som indeholder koden som opdater database:

<form method="POST" action="xxxxx.asp">
Avatar billede no_doubt Nybegynder
19. august 2002 - 23:05 #16
jamen det der kan jeg jo ikke bare smide ind, for hvordan ved knappen at det er det, den skal udføre ?

Må jeg sende dig siden ?
Avatar billede eagleeye Praktikant
19. august 2002 - 23:07 #17
Den opdater dem alle en efter en....

Alternativt skal du lave en form for hver medlem og en submit det til.
Avatar billede no_doubt Nybegynder
19. august 2002 - 23:08 #18
Avatar billede eagleeye Praktikant
19. august 2002 - 23:10 #19
Har du en kolonen som hedder ID ??
Avatar billede no_doubt Nybegynder
19. august 2002 - 23:11 #20
nej men id
Avatar billede no_doubt Nybegynder
19. august 2002 - 23:13 #21
har lige prøvet at ændre id til ID i databasen men samme fejl
Avatar billede eagleeye Praktikant
19. august 2002 - 23:14 #22
og du har sat dette ind?
        <tr>
          <td width="33%" align="center" style="border: 1px solid rgb(0,0,0)">
          <input type="hidden" name="ID" value="<%=rs("ID")%>">
          <input type="text" name="navn<%=rs("ID")%>" size="25" value="<%Response.write rs("navn")%>"></td>
          <td width="33%" align="center" style="border: 1px solid rgb(0,0,0)">
          <input type="text" name="mail<%=rs("ID")%>" size="25" value="<%Response.write rs("email") %>"></td>
          <td width="34%" align="center" style="border: 1px solid rgb(0,0,0)">
          <input type="text" name="mobiltlf<%=rs("ID")%>" size="10" value="<%Response.write rs("mobiltlf")%>"></td>
        </tr>
Avatar billede no_doubt Nybegynder
19. august 2002 - 23:15 #23
jep
Avatar billede no_doubt Nybegynder
19. august 2002 - 23:20 #24
skulle jeg <!--#INCLUDE FILE ="update.asp" -->
??

Hvis jeg gør det skriver den ikke tekstbokse ud mere, men bare som http://www.fredericia-bynight.dk/1Q/telefonliste/default.asp
Avatar billede eagleeye Praktikant
19. august 2002 - 23:23 #25
Nej du skal ikke include:  <!--#INCLUDE FILE ="update.asp" -->
Avatar billede no_doubt Nybegynder
19. august 2002 - 23:24 #26
fjernet
Avatar billede eagleeye Praktikant
19. august 2002 - 23:34 #27
Hvilken data type er  email  og  mobiltlf  i databasen?
Avatar billede no_doubt Nybegynder
19. august 2002 - 23:36 #28
email = tekst
mobiltlf = tal
Avatar billede eagleeye Praktikant
19. august 2002 - 23:42 #29
email må ikke være et tomt felt så jeg har sat et mellemrum ind hvis den er tom.. Det kan du evt ændre i database så email tillader Null længde strenge.. Sender lige de to filer til dig.
Avatar billede no_doubt Nybegynder
19. august 2002 - 23:43 #30
hvordan gør man det i access
Avatar billede eagleeye Praktikant
19. august 2002 - 23:54 #31
du skal åbne Access og gå ind i design vinduet for tabelle og vælge email kolonnen så nede i bunden er et felt som hedder: TilladNulllænge som sættes til Ja.
Avatar billede eagleeye Praktikant
19. august 2002 - 23:58 #32
På siden http://www.fredericia-bynight.dk/1Q/telefonliste/opdater.asp er det et mellemrum i hver Email felt som skal slettes. Hvis du har den nye update.asp og rette tilladnulllængde for email kolonne kan du slette det mellemrum i alle email felterne og opdater... ;)
Avatar billede eagleeye Praktikant
20. august 2002 - 00:06 #33
Hvis du tænker på form feltet navn skal det laves sådan her:

<input type="text" name="navn<%=rs("ID")%>" size="25" value="<%Response.write rs("navn")%>" disabled>


MEN hvis man gør det bliver form feltets value ikke overført.... Så enten skal SQL ændres så den ikke opdater navn i updater.asp filen:

  strSQL = "Update telefon SET "
'  strSQL = strSQL & "navn = '" & navn & "', "
  strSQL = strSQL & "email = '" & mail & "', "
 
  strSQL = strSQL & "mobiltlf = " & mobiltlf & " "
  strSQL = strSQL & "WHERE ID = " & IDdata


Eller skal man havde mulighed for at ændre i navnet.
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