Avatar billede Slettet bruger
18. juni 2004 - 20:48 Der er 8 kommentarer og
1 løsning

En let en: Online rettelse i database.

Jeg har en (*.mdb) database ved navn table.mdb
Jeg har i den en table ved nan list.
Jeg har i tablen en kolone der hedder TEAM.

Jeg vil gerne have at jeg kan rette navne i den kolone online.
Men da jeg er nOOb vil det være fedt med lidt hjælp.

Scriptet og en beskrivelse ved af hvad linjerne gør vil det være fedt og så kan jeg også lære det.

På forhånd tak
/Michael
Avatar billede Slettet bruger
18. juni 2004 - 20:48 #1
PS. kolonen hedder team med små bokstaver.

/Michael
Avatar billede keysersoze Ekspert
18. juni 2004 - 21:36 #2
Avatar billede phineas_phreak Nybegynder
19. juni 2004 - 01:49 #3
Du skal bruge 3 sider til dette.

1. side vælger du den post fra databasen du skal rette.
2. side er en form hvor du indtaster nye data
3. side gemmer de indtastede fra side 2

kan se sådan ud:

side1:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("table.mdb")
SQLstmt = "SELECT * FROM list ORDER BY ID desc;"
Conn.Execute (SQLstmt)
Set rs = conn.Execute(SQLstmt)
  DO WHILE NOT rs.EOF
%>

<a href="side2.asp?id=<%= rs("id") %>">Ret indlæg med id <%= rs("id")</a>
<br>
<%
    rs.MoveNext
  LOOP
  RS.Close
conn.Close
Set conn = nothing
Set SQLstmt = nothing
%>



side2:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("table.mdb")

SQLstmt = "SELECT * FROM list WHERE id = " & Request("id")
Conn.Execute (SQLstmt)
Set rs = conn.Execute(SQLstmt)
%>

<form method="POST" action="side3.asp?id=<%=rs("id")%>">

<input type="text" name="team" value="<% rs("team") %>">
</form>


side 3 :

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

SQLstmt = "UPDATE DISTINCTROW list SET TEAM = '" & request.form("team")& "'WHERE id = " & Request("id")

Conn.Execute (SQLstmt)
conn.Close
Set conn = nothing
Set SQLstmt = nothing


%>


Det kan være du skal rette på nogle af navnene.
Avatar billede Slettet bruger
19. juni 2004 - 12:11 #4
Phineas jeg kan ikke få det til at virke.

Jeg har lavet 3 filer og indsat det du har skrevet.
Filerne hedder
update_teams.asp
update_teams2.asp
update_teams3.asp

Og jeg har rettet de steder hvor der står side3.asp og side2.asp

men ingen af siderne virker.
Hvad kan der være galt?

/Michael
Avatar billede phineas_phreak Nybegynder
19. juni 2004 - 13:11 #5
på side 1 skal følgende rettes:

<a href="side2.asp?id=<%= rs("id") %>">Ret indlæg med id <%= rs("id") %></a>


Vær sikker på at navnene på tabeller i din database passer overens med det der står på siderne.

Vær sikker på at din database fil ligger i samme katalog som side1,2,3

Men hvis du ikke har mere indsigt i at kunne få ovenstående til at virke vil jeg også foreslå ligesom keyzer soze at du læser den grundlæggende ASP tutorial på http://www.html.dk/tutorials/asp/
Avatar billede Slettet bruger
19. juni 2004 - 14:45 #6
Jeg har haft kigget lidt på den tutorials. Den er fin men den skriver jo ikke det jeg har brug for.

Hvordan skriver jeg fx:

' Skriv personens data
Response.Write "<dt>Team:</dt><dd>" & rs("Team") & "</dd>"
Response.Write "<dt>Spillede:</dt><dd>" & rs("Played") & "</dd>"
Response.Write "<dt>Vundet:</dt><dd>" & rs("Victories") & "</dd>"
Response.Write "<dt>Uafgjorte:</dt><dd>" & rs("Draws") & "</dd>"
Response.Write "<dt>Tabte:</dt><dd>" & rs("Defeats") & "</dd>"
Response.Write "<dt>Scoret:</dt><dd>" & rs("Made") & "</dd>"
Response.Write "<dt>gået ind:</dt><dd>" & rs("Let") & "</dd>"
Response.Write "<dt>Point:</dt><dd>" & rs("Points") & "</dd>"

I felter hvor jeg kan rette dem?
Avatar billede phineas_phreak Nybegynder
19. juni 2004 - 16:48 #7
ved at lave input boxe f.eks. ligesom jeg har skrevet i side 2:

<input type="text" name="team" value="<%= rs("team") %>">
<input type="text" name="played" value="<%= rs("played") %>">
<input type="text" name="victories" value="<%= rs("victories") %>">
osv.

Husk at navnet på boksen er vigtigt da du skal bruge det på side 3 til at opdatere databasen med de data der står i felterne med navn "team" "played" "victories" osv.

på side3 er denne linje interessant:

SQLstmt = "UPDATE DISTINCTROW list SET Team='" & request.form("team")& "',Played='" & request.form("Played")& "',Victories='" & request.form("Victories")& "' WHERE id = " & Request("id")


Husk at dette forudsætter du har en kolonne i din tabel der hedder id som er sat til autonummerering. hvis ikke har du nok en tilsvarende og så er det nødvendigt at ændre navnet id til det din kolonne nu hedder
Avatar billede Slettet bruger
19. juni 2004 - 17:53 #8
Nååå Hehe undskyld det havde jeg gjort men jeg havde jo lavet en kopi af det du havde skrevet og der stod på side 3 ikke : <% Men jeg fandt fejlen.

Mange tak
Avatar billede keysersoze Ekspert
30. juli 2004 - 12:55 #9
lukketid?
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