SQL Database

Status
Niet open voor verdere reacties.

davidus

Gebruiker
Lid geworden
11 dec 2013
Berichten
10
Ik moet voor school een mogelijkheid creeren om via een website boeken te kunnen reserveren in ASP.

Ik heb de tabellen: DoekID, BoekTitel en BoekStatus

Ik weet dus helemaal niks van SQL en vraag mij dan ook af hoe ik van deze 3 tabellen een query kan maken om een reservering te doen.

Dit is wat ik heb tot nu toe, vanuit een andere query aangepast...zal wel helemaal fout zijn...

Code:
<% Option explicit %><?xml version='1.0' encoding='iso-8859-1' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 STRICT//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--#include virtual ="/lib/database.mcl" -->

<%
'De ingevulde waarden uit het formulier opslaan in variabelen
'(pas bij de derde aanroep van de pagina zijn er waarden, anders: lege tekenreeksen) 
'-------------------------------------------------------------------------------------------------------
dim BoekID, BoekTitel, BoekStatus, Mode
BoekID	    = request("BoekID")
BoekTitel   = request("BoekTitel")
BoekStatus  = request("BoekStatus")

Mode         = request("Mode")	'Naam van de knop die bij het verzenden ingedrukt is, bij de eerste aanroep dus leeg.

' De naam van de te gebruiken database opgeven
'---------------------------------------------
db.name = "Bridge"

'Construeren XHTML voor de keuzelijst met patienten
'--------------------------------------------------
dim Boekenlijst
Boekenlijst = "<select name='BoekID'>" + vbCrLf
db.sql  = "SELECT * FROM Boek ORDER BY pnaam"
db.open

do while not db.EndOfRecordSet

   BoekenLijst = BoekenLijst + "<option value='" & db("pnr")
   if db("BoekID")=cInt(BoekID) then
	BoekenLijst = BoekenLijst + "' selected='selected"
   end if
   PatientLijst = PatientLijst + "'>" + db("pnaam") + ", "  & db("pwoonplaats")
   PatientLijst = PatientLijst + "</option>" + vbCrLf

   db.NextRecord
loop					
db.close

PatientLijst = PatientLijst + "</select>" + vbCrLf
'Construeren juiste SQL-statement aan de hand van de ingedrukte knop op het formulier
'------------------------------------------------------------------------------------
select case Mode

   case "Opslaan"
        db.sql = "UPDATE patient SET patient.BloedGroep=""" + BloedGroep + """, "  _
                                  + "patient.RhesusFactor=""" + RhesusFactor + """ "  _
                                  + "WHERE patient.pnr=" & PatientNr + ";"
                                  
'Onderstaande statements zijn bedoeld om het geconstrueerde sql-statement te testen.
'Moeten in de definitieve versie verwijderd worden.
dim test1
test1 = db.sql                                  

        db.execute        'SQL statement uitvoeren met als resultaat een recordset

   case "Nieuw"
       'Hier niet van toepassing: knop bestaat niet. Zou INSERT-statement moeten zijn.

   case "Verwijderen"
       'Hier niet van toepassing: knop bestaat niet. Zou DELETE-statement moeten zijn.
       
end select


'Ophalen gegevens van de geselecteerde patient
'---------------------------------------------
if BoekID<>"" then   'else: nog geen keus gemaakt in de keuzelijst: eerste aanroep van de pagina
	db.sql  = "SELECT * FROM patient WHERE pnr=" & PatientNr
	db.open
end if

response.write patientnr

%>

<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='nl'>

<head>
	<title>BoekReservering</title>
	<link rel="stylesheet" type="text/css" href="/style/style.css" />
</head>

<body class="content">
<table class="content">
	<tr>
		<td class="pagetitle" colspan="3">Boek Reserveren</td>
	</tr><tr>
    		<td class="text">


<!-- Hieronder staat een stukje Javascript dat gebruikt wordt om de invoer van het formulier te controleren. 
     Is geen leerstof voor deze module!!  -->

&nbsp;<span lang="en-us"><br>
</span><form method="post" onsubmit="return FrontPage_Form1_Validator(this)" language="JavaScript" name="FrontPage_Form1">

<%
'Afbeelden eventuele fouten
'--------------------------
response.write "Error tekst: " & db.Errortext + "<br />"
response.write "Test SQL: " & test1 + "<br />"

'Afbeelden HTML code voor de patientenlijst
'------------------------------------------
response.write PatientLijst
%>

     <input name="Mode" type="submit" value="Zoeken" />

<% if Mode<>"" then %>
	<table class="form">
		<tr>
			<td class="prompt">BoekID</td><td class="field"><%=db("pnr")%></td>
		</tr><tr>
			<td class="prompt">BoekTitel</td><td class="field"><%=db("pnaam")%></td>
		
		</tr><tr>
			<td class="prompt">BoekStatus</td><td class="field">
				<!--webbot bot="Validation" s-data-type="String" s-allow-other-chars="ABO" b-value-required="TRUE" i-maximum-length="255" -->
				<input name="BoekStatus" type="text" size="2" maxlength="255" value='<%=db("BoekStatus")%>'></td>
				</tr><tr>
			<td class="prompt">Reserveren</td><td class="field"><%=db("pnaam")%><span lang="en-us"></span></td>

			<td class="buttons" colspan="2">
				<input name="Mode" type="submit" value="Opslaan" />
			</td>
		</tr>
	</table>
<%
   db.close
end if
set db = nothing
%>

</form>



		</td>
	</tr>
</table>
</body></html>
 
Laatst bewerkt door een moderator:
Dit gaat niet werken, de post is onleesbaar en inconsequent (patientlijsten en boeken). Bovendien is het nu een SQL en ASP vraag en dat zijn echt andere dingen.

Als je boeken wil uitlenen heb je waarschijnlijk ook ergens een tabel gebruikers nodig en een tabel met datum velden voor start uitgave en teruggifte, of minimaal een waarde die aangeeft "aanwezig/afwezig"
 
Excuses voor de slordigheid.
Voor mij is dat echt chinees, of dit nu ASP of SQL is. Als ik goed heb opgelet schrijven we het in ASP, maar gebruiken we SQL queries/statements?

Ik heb inderdaad ook een tabel Lid, met o./a lidnummer. Maar als je boeken wilt reserveren moet je een inlog hebben voor de site, dan kan ik beter UserID pakken?
Ik heb geen datum velden, alleen de kolom BoekStatus.

kun je mij verder helpen?
Ik doe Information Management en heb als vooropleiding Maatschappelijk werk (ben nu functioneel applicatiebeheerder) dus voor mij is dit hocus pocus en heb geen referenties.
 
Er staat patientenlijsten en boeken omdat ik een voorbeeld had gevonden van query naar de database, ik dacht dan pas ik die aan.
 
In het functioneel Ontwerp wordt wel gesproken over meer attributen van Boek.

Data dictionary

BoekId
BoekTitel
BoekStatus
SchrijverId
SchrijverNaam
ReserveringsDatum
UitleenDatum
RetourDatum

Volgens de tekst wordt dit opgelost in tussentabellen.
 
Zoals ik al aangaf heb je inderdaad ergens een datum tabel nodig. Volgens mij kun je beter eerst beginnen met basis database instructies en SQL. Dat maakt het volgen van de code en het halen van je doelstelling veel eenvoudiger.

Als ik goed heb opgelet schrijven we het in ASP, maar gebruiken we SQL queries/statements?

correct en zijn als zodanig eigenlijk ook volledig apart te behandelen.

Wat je uit eindelijk wilt is een "userID" koppelen aan een "boekID" en een "uitgifte register". Die userID kan gekoppeld zijn aan de site database maar kan ook een separate tabel zijn. Dat geeft je de basis om de rest uit te bouwen.
 
thx...

die ben ik inderdaad nu aan het oefenen in mijn visual basics, ik denk ik ga eerst alle W3 cursussen doen.
Heb jij een idee waarom ik <% Hello World %> niet in ASP kan weergeven in Visual Basics, moet ik eerst nog iets instellen dat hij ook ASP kan weergeven?
 
asp geeft normaal output via de browser of de gekoppelde server. hoe probeer je feedback te krijgen?
 
Bedoel je de site? Die is live. Ik moet alleen de database via een mcl file nog in de lucht krijgen.
 
Ik ben zover dat ik gisteren W3 heb gedaan, sql en asp...maar nu lees ik DE opdracht en dat kan ik niet terug vinden.
Hoe moet ik dit bestand vullen, waar kan ik deze informatie vinden?

Opdracht

Bij de opdracht gaan we een business class ontwerpen voor de entiteit Boek.

• Bedenk welke eigenschappen een boek uit de bibliotheek heeft.
Tip: de meeste eigenschappen zullen ook velden zijn in de tabel Boek in de database.
• Bedenk voor welke eigenschappen een simpel Public statement voldoende is en voor welke eigenschappen een Let/Get constructie nodig is.
• Voor de laatste categorie is het soms noodzakelijk tijdelijke opslag in een verborgen eigenschap te maken d.m.v. een Private statement, waarbij Xxx de public naam is en BoekXxx de private naam. Voor welke eigenschappen geldt dit?
Opm.: ‘Tijdelijk’ wil zeggen ‘Zolang het object bestaat’ ofwel tot het set boek = nothing statement op de ASP-pagina
• Bedenk welke methoden voor een boek nodig zijn
Tip: laat je inspireren door de DFD’s in het ontwerprapport
• Welk gedrag voor boeken kan worden onderscheiden?


Volgende week komt nog extra informatie op het hoorcollege, maar je kan het volgende alvast eens proberen:

• Kopieer het Template voor een nieuwe Class van Blackboard naar je werkgebied
• Maak een ASP-pagina om de class te kunnen testen
• Plaats de include directives op de ASP-pagina:
o Uiteraard is het BoekClass bestand nodig.
o Ook DatabaseClass is nodig: we willen gegevens van de boeken uit de database kunnen ophalen en er naar toe kunnen schrijven!
• Wijzig de namen in het template om het geschikt te maken voor de boeken.
• Vul het template met de hiervoor bedachte eigenschappen en methoden
Tip: de werking van elke eigenschap en methode apart uit testen. Ga pas verder met een volgende routine als alles (weer) foutloos werkt.

BoekClass is het belangrijkste stukje programmeerwerk waar jullie de komende weken mee aan het werk zullen zijn.
 
Het is voor school, dus je zult geen keus hebben, maar ik ben ooit ook begonnen met ASP en vond het een vreselijke taal.
Toen ben ik met PHP begonnen en ging er een hemel voor me open. Zoveel makkelijker :)
 
Ik kom hierop uit, kan iemand dit verifieren...

property sub nieuw ()

dim boektitel, boekbeschrijving, kolom1, kolom2

boektitel = request('veld1opasppaginaformulier')
boekbeschrijving = request('veld2opasppaginaformulier')
kolom1 = request('veld3opasppaginaformulier')
kolom2 = request('veld4opasppaginaformulier')

db.name = "bridge"
db.sql = (SQL STATEMENT) "INSERT INTO boek (BoekTitel, Boekbeschrijving, kolom1, kolom2) VALUES (' " & boektitel & " ', ' " & boekbeschrijving & " ', '" & kolom1 & "’, '" & kolom2 & "') "
db.execute
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan