[ASP/Acces] records lezen en toevoegen in 1 asp pagina

Pagina: 1
Acties:

  • bgrr
  • Registratie: Oktober 2001
  • Niet online
Hoi,

Als beginnend asp-er loop ik vast op volgende probleem.

Ik heb een asp pagina welke data uitleest uit een acces database en deze in een tabel weergeeft.

Nu wil ik onderaan deze pagina 2 formuliervelden maken en een add knopje om een nieuw record toe te voegen in de database


Ik heb reeds gezocht op tweakers en google hoe dit te doen, maar krijg door weinig ervaring in asp niet gevonden wat ik zoek. Moet ik zoeken op meerdere connecties, recordsets ? Is het uberhaupt wel mogelijk om dit in 1 pagina te doen ?

Mocht iemand mij uit de brand hoe ik dit kan realiseren door me beetje op weg te helpen is mijn dank groot.


Volgt nog de code die ik nu werkend heb. Dit geeft een pagina waar een tabel netjes wordt weergegeven met de data....


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<%@ LANGUAGE="VBSCRIPT" %>

<HTML>
<HEAD><TITLE>HAC PC VEILING</TITLE></HEAD>
<body link="#1C4D7A" vlink="#1C4D7A" alink="#1C4D7A" text="#1C4D7A">

<%

Dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "databeest_hac_veiling"
objConn.Open

Dim objRS
SET objRS = Server.CreateObject("ADODB.RecordSet")

Dim strSQL
strSQL = "SELECT tabel_biedingen.bod, tabel_gebruiker.naam,
 tabel_biedingen.kavel FROM Tabel_kavel INNER JOIN (tabel_gebruiker INNER JOIN 
tabel_biedingen ON tabel_gebruiker.gebruiker_id = 
tabel_biedingen.naam_gebruiker) ON Tabel_kavel.kavel_id = 
tabel_biedingen.kavel WHERE (((tabel_biedingen.kavel)= "&(Request("kavel"))&"))
ORDER BY tabel_biedingen.bod DESC"


objRS.Open strSQL, objConn


Response.Write "<div align=center><center>"
Response.Write "<b>" & (Request("omschrijving")) & "</b><BR>"

Response.Write "<table border=1 width=""50%""><TR>"
Response.Write "<TD align=center><b><font face=Tahoma size=2>kavel      </b></td>"
Response.Write "<TD align=center><b><font face=Tahoma size=2>hoogste bod</b></TD>"
Response.Write "<TD align=center><b><font face=Tahoma size=2>door       </b></td>"
Response.Write "</TR>"

Do Until objRS.EOF = True
   Response.Write "<TR>"
   Response.Write "<TD align=center><font face=Tahoma size=2>" & objRS("kavel") & "</TD>"
   Response.Write "<TD align=center><font face=Tahoma size=2>" & objRS("bod")   & "</TD>"
   Response.Write "<TD align=center><font face=Tahoma size=2>" & objRS("naam")  & "</TD>"
   Response.Write "</TR>"
   objRS.MoveNext
Loop
Response.write "</table>"

objRS.Close
Set objRS = Nothing

%>

</BODY>
</HTML>

[ Voor 36% gewijzigd door bgrr op 20-05-2004 01:20 ]


Verwijderd

Ja, dat is prima in 1 pagina te doen.

Mijn tip: maak dit in 3 stappen:
1) Maak een pagina die, iedere keer als je die runt, een nieuw record in die tabel stopt. Gebuik een Connection object en run daar een INSERT statement op met de .Execute methode van het Connection object.
2) Wijzig die pagina in een pagina met formulier, zodat je zelf de waarden kunt opgeven. Verwijs in de form action naar dezelfde pagina.
3) Integreer deze code in je bestaande pagina. Hergebruik hiervoor het bestaande Connection object. Verwijs in de form action naar dezelfde pagina.

Kijk hoever je komt hiermee. Als je vast loopt, post je code en iemand helpt je vast verder.

Zinvolle links met voorbeelden en naslagmateriaal:
- toevoegen records: http://www.w3schools.com/ado/ado_add.asp
- SQL Insert: http://www.w3schools.com/sql/sql_insert.asp

Succes :)

PS: Is dit een vervolg op [rml][ ASP] record toevoegen aan access DB mbv forms[/rml] ?

[ Voor 49% gewijzigd door Verwijderd op 20-05-2004 01:31 ]


  • nescafe
  • Registratie: Januari 2001
  • Laatst online: 13:58
In aanvulling op bovenstaande ^^

4) Maak gebruik van parameterized queries (ook in je SELECT-query). Hiermee voorkom je SQL injections. Ik gebruik hiervoor een adodb.command-object. Gebruik de search voor meer informatie.

* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans


  • bgrr
  • Registratie: Oktober 2001
  • Niet online
Verwijderd schreef op 20 mei 2004 @ 01:22:
Ja, dat is prima in 1 pagina te doen.


PS: Is dit een vervolg op [rml][ ASP] record toevoegen aan access DB mbv forms[/rml] ?
Dat was me eerste ASP ervaring, een hiscore website...

Toen heb ik een aparte pagina gebruikt om record te adden. Dat lukt allemaal prima. Het hergebruik van het Connection object is iets waar wat ik toen niet gebruikt heb. Dit ga ik eens uitpluizen want t scheelt weer mooi een pagina


De code uit die pagina's helpen me goed op weg in me tweede "projectje"

Dit moet een veiling site worden op een intranet. hebben aantal pc's over die we onder t personeel kwijt willen per opbod om iedereen evenveel kans te geven...

Een leuke kans om me asp kennis te vergroten op een nuttige manier :-)

[ Voor 9% gewijzigd door bgrr op 20-05-2004 01:53 ]


Verwijderd

Dit soort dingen is goed te doen vanuit 1 pagina. Als je een parameter dorgeeft aan de pagine, en dan ik de code aan de hand van de parameter de gewenste actie uitvoert.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  dim Actie

  Actie = ucase(Request.QueryString("action"))

  select case Actie
    case "INSERT"
      ' Roep code voor record toevoegen aan
    case "DELETE"
      ' Roep code voor record verwijderen aan
    case "UPDATE"
      ' Roep code voor record wijzigen aan
    case else
      ' Eventuele code indien geen van bovenstaande gevallen
  end select


je kunt dan dezelfde asp-pagina oproepen met verschillende acties. Vergeet dan niet het unieke nummer van je record toe te voegen ( voor wijzig en verwijder acties )