P&W FAQ - ASP

Pagina: 1
Acties:
  • 1.901 views sinds 30-01-2008

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 13:31

drm

f0pc0dert

Topicstarter

Programming & Webscripting FAQ: ASP

Met dank aan gorgi_19 :)

Inhoud

· ^

Links

· ^

Boeken

  • ASP in a Nutshell

    Door: A. Keyton Weissinger
    ISBN: 1565928431
    O'Reilly & Associates Inc.

  • Beginning Active Server Pages 3.0

    Door: David Buser, John Kauffman e.a.
    ISBN: 1-861003-38-2
    Wrox Press

  • Professional Active Server Pages 3.0

    Door: Dino Esposito, Andrea Chiarelli e.a.
    ISBN: 1-861002-61-0
    Wrox Press

· ^

Algemene tips

1. Gebruik geen request(variabele)

Definieer altijd of je Request.Form, Request.Querystring of Request.Cookies, etc. gebruikt. Op deze wijze is er minder kans op malafide code of input die je niet verwacht.

2. Filter single quotes uit je input als je ze wilt gebruiken in een query

Stel je hebt de query:

ASP:
1
"Insert into blaat (veld1) Values ('" & Request.Form("blaat") & "')"

We vullen vervolgens in, in het veld blaat: Gorgi's Game. De query zou er dan uit zien als:

ASP:
1
"Insert into blaat (veld1) Values ('Gorgi's Game')"

en je ziet zelf al dat dit fout gaat door de single quote. Er moeten op een of andere manier zorgen dat deze dus niet meer voorkomt; dit kan door middel van escapen. Als we de ' vervangen door '' (2x een single quote achter elkaar) dan treedt dit probleem niet meer op.

Een betere code zou dan ook zijn:

ASP:
1
2
"Insert into blaat (veld1) Values ('" & _
    Replace(Request.Form("blaat"),"'","''") & "')"

3. Geen include bestanden niet de extensie .inc, maar .inc.asp

Het bestand foobar.inc is anders gewoon te downloaden als deze in een publieke plaats staan. Foobar.inc.asp niet.

4. Code altijd met Option Explicit On

Hiermee wordt je gedwongen om je variabelen te definiëren.

ASP:
1
2
3
4
<%
iAantal = 5
Response.Write iAantal 
%>

Kan dus niet meer; iAantal is niet gedefinieerd. Echter je maakt niet fouten als:

ASP:
1
2
3
4
<%
iAantal = 5
Response.Write jAantal 
%>

waarbij er niets op het scherm verschijnt.

Een goede syntax is nu:

ASP:
1
2
3
4
5
<%
Dim iAantal
iAantal = 5
Response.Write iAantal 
%>
· ^

Veel gestelde vragen

· ^

1. Wat is ASP?

ASP staat voor Active Server Pages. In tegenstelling tot wat veel mensen denken, is asp geen taal, maar een platform. In feite bestaat ASP maar uit een paar objecten; de meest gebruikte zijn:

  • Application object
  • Request object
  • Response object
  • Server object
  • Session object
· ^

2. Ok; het is een platform. Welke taal heb ik dan nodig?

Op Internet zijn de meeste voorbeelden in VBScript icm ASP. Dit is ook het meest gebruikt. Echter, je kan ook JScript of Perl gebruiken in combinatie met ASP.

De VBScript en JScript language reference is te downloaden op http://www.microsoft.com/scripting

· ^

3. Wat heb je nodig voor asp?

In combinatie met Internet Information Services (IIS / Windows based)

ASP 2.0 draait op IIS 4.0 en Personal web server. IIS 4.0 wordt geleverd bij Windows NT 4.0 Server of hoger. Personal Web Server kan gedraaid worden op Windows NT 4.0 Workstation of Windows 98. Voor beiden moet je het NT Option Pack 4.0 installeren.

ASP 3.0 draait op IIS 5.0 (Windows 2000), IIS 5.1 (Windows XP) of IIS 6.0 (Windows 2003). Tussen deze laatste drie zit voor ASP 3.0 geen verschil.

In combinatie met Apache

ASP is echter ook draaibaar op Apache. Zie bijvoorbeeld http://freshmeat.net/projects/apacheasp/?topic_id=92%2C49%2C90 voor de combinatie met Perl.

Voor de combinatie VBScript / JScript met apache: http://wwws.sun.com/software/chilisoft/index.html

· ^

4. Hoe verander ik de enters in een textbox naar HTML-enters?

ASP:
1
2
3
Dim strString
strString = "TekstMetEnters"
strString = Replace(strString,vbCrLf,"<br>")
· ^

5. Mensen plaatsen HTML-code in mijn applicatie! Hoe voorkom ik dit?

ASP:
1
2
3
Dim strString
strString = "TekstMetHTML"
strString = Server.HTMLEncode(strString)
· ^

6. En hoe kan ik deze weer terugzetten naar gewone HTML?

ASP:
1
2
3
Dim strString
strString = "TekstMetEncodedHTML"
strString = Server.HTMLDecode(strString)

Deze methode bestaat echter (nog) niet in ASP 3.0

· ^

7. Ik heb een frames pagina, index.html, met daarin 2 pagina's. Pagina1.asp en pagina2. asp. Echter, als ik index.html laadt, wordt het Session_OnStart event 2 maal uitgevoerd! Hoe kan dit?

Het is niet beter te verwoorden dan EfBe heeft gedaan in deze post

· ^

8. Ik heb een ASP pagina, maar nu wil ik daar ook een grafiek bij hebben.. Hoe doe ik dit?

Een hele mooie tutorial is hiervoor geschreven en te vinden op http://www.4guysfromrolla.com/webtech/032603-1.shtml

· ^

9. Ik gebruik een upload component. Echter, zodra ik ENCTYPE="multipart/form-data" gebruik, kan ik geen Request.Form meer gebruiken?

Alles is nu encoded, dus ook je form variabelen. Meestal bieden de upload componenten wel een oplossing voor het probleem. De meest gebruikte is ASPUpload; een oplossing hiervoor staat beschreven in http://www.experts-exchange.com/Web/Web_Languages/ASP/Q_20340231.html

· ^

10. Hmmm… Ik lees wel dat ik de schrijfrechten moet wijzigen van het IUSR_account in het security tabblad, maar deze heb ik niet.

In Windows XP is deze verborgen. Je kan hem weer zichtbaar maken. Zie hiervoor http://windows.about.com/library/tips/bltip542.htm

· ^

11. Help! M'n upload form doet het niet?

In 99% van de gevallen ben je vergeten om je form tag goed te zetten.

Dus niet

HTML:
1
<form>

maar

HTML:
1
<form enctype="multipart/form-data">
· ^

12. Ik wil een " gebruiken in een string, maar dit pikt hij niet. Hoe zorg ik dat ik wel een " weer kan geven?

De meest eenvoudige methode is escapen door hem te 'verdubbelen'. Een voorbeeld:

ASP:
1
Response.Write "Dit is een ""stukje"", wat de bedoeling is"

wordt weergegeven als:

Dit is een "stukje", wat de bedoeling is
· ^

13. Hoe kan ik een enter weergeven in de source, dus geen html-enter?

Dit kan je doen door middel van vbCrLf (Visual Basic Carriage Release Line Feed)

Voorbeeld:

ASP:
1
Response.Write "Regel 1" & vbCrLf & "Regel 2"

Levert op

code:
1
2
Regel 1
Regel 2
· ^

14. Sommigen zeggen dat ik <% Response.Write foobar %>, anderen zeggen dat ik <%= foobar %> moet gebruiken. Wat is correct?

In deze context zijn beiden correct en gaat het meer uit van een 'netheidsvoorkeur'.

ASP:
1
<td><%= Date() %></td>

levert exact hetzelfde op als

ASP:
1
<td><% Response.Write Date() %></td>

Als de een niet werkt, zal de ander ook niet werken.

· ^

Debuggen in ASP

Het debuggen van een asp-applicatie wordt door veel mensen als lastig ervaren, terwijl dit helemaal niet zo hoeft te zijn. Om een probleem op te lossen, is het van belang om er achter te komen wat er fout gaat. Om achter een fout te komen, hanteer ik altijd het volgende stappenplan:

1. Controleer op Norton Antivirus.

Zet Script Blocking uit; deze zorgt er voor dat een pagina's niet meer laden. Zie hiervoor ook dit Symantec artikel

2. Controleer of een simpele pagina het wel doet.

Een goed voorbeeld voor VBScript is:

ASP:
1
2
3
<%
Response.Write "Hello world"
%>

Als je dit niet op je scherm krijgt, dan heb je geen probleem met je code, maar zit er iets anders fout. Een mogelijke fout kan bijvoorbeeld de Script Blocking van Norton Antivirus zijn.

3. Zorg dat je de foutmelding ziet.

Standaard staat Internet Explorer zo ingesteld, dat je alleen 'vriendelijke foutmeldingen' ziet, dus zonder errors en code, terwijl je dit nu net wel wil zien. Je kan deze optie uitzetten door:

Tools > Internet Options > Advanced > Show Friendly http Errors uitvinken (staat onder het kopje 'browsing')

4. Comment eventuele "On Error Resume Next"

Dit statement zorgt er voor dat fouten genegeerd worden, terwijl je ze juist wel wilt zien. Plaats er daarom een single quote voor (zodat het als commentaar en niet als statement wordt gezien) of haal het tijdens het debuggen weg. Immers, de fouten moeten nu juist te voorschijn komen.

Normaal:

ASP:
1
2
3
4
On Error Resume Next
' Option Explicit
Dim strQuery 
strQuery = "Select * FROM tabelnaam"

Debugmodus

ASP:
1
2
3
4
' On Error Resume Next
Option Explicit
Dim strQuery 
strQuery = "Select * FROM tabelnaam"

5. Zorg dat je de 'foute' variabele op het scherm krijgt

PHP kent error reporting, ASP.Net heeft het Tracing object; asp heeft niets van dit alles.

Wil je debuggen, dan zul je het op de handmatige wijze moeten doen door middel van Response.Write:

ASP:
1
2
3
4
5
Dim strSQL
strSQL = "Er gaat iets fout in dit SQL statement"

Response.Write strSQL       ' Zet het statement op je scherm
Response.End            ' Eindig de uitvoering van je script.

6. Tik de foutmelding, eventueel gedeelten daarvan, in op Google.

Je bent niet de eerste met de fout! Zorg er wel voor dat je de engelse foutmelding intikt. Google is een enorm snelle bron om oplossingen te vinden, met voorbeeldcode.

Krijg je geen foutmelding, controleer dan je code op oneindige loops.

· ^

Vaak voorkomende foutmeldingen en oplossingen

· ^

1. Expected integer constant

Een constante van het type integer werd verwacht. Meestal gaat dit fout icm met het maken van dynamische arrays. De volgende constructie mag niet en levert de fout op:

ASP:
1
2
3
Dim iNummer
iNummer = 5
Dim arrBlaat(iNummer)

Een goede constructie is:

ASP:
1
2
3
4
Dim iNummer
iNummer = 5
Dim arrBlaat(1)
Redim arrBlaat(iNummer)

Tip: Mocht je al waarden in je array hebben staan, die je wilt bewaren, gebruik dan:

ASP:
1
Redim Preserve arrBlaat(iNummer)
· ^

2. Item cannot be found in the collection corresponding to the requested name or ordinal

Deze foutmelding komt voor in combinatie met database connecties. Je wilt een veld gaan ophalen, welke niet in de recordset staat. Stel je hebt de query

SQL:
1
Select naam From tabel

De volgende constructie levert dan een foutmelding op:

ASP:
1
Response.Write PseudoRecordSetObject.Item("adres")

De reden: adres zit niet in de recordset; we hebben immers alleen maar "naam" er in laten zetten. Verander, om het probleem op te lossen, bijvoorbeeld de query in

SQL:
1
Select naam, adres FROM tabelnaam

Tip: Het probleem kan ook duiden op een typefout.

Stel je hebt de foute code:

ASP:
1
Response.Write PseudoRecordSetObject.Item(adres)

Hierin staat adres niet tussen quotes. Het wordt dan opgevat als een variabele adres (als Option Explicit niet gedefinieerd of uit staat). Aangezien adres leeg is (we hebben nergens deze variabele gevuld, staat er voor de parser eigenlijk:

ASP:
1
Response.Write PseudoRecordSetObject.Item()

En dit laat al de incorrectheid zien.

· ^

3. [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x9dc Thread 0xb5c DBC 0x1468fe4 Jet'

Deze foutmelding hangt samen met de connectie naar de database. Meestal komt deze doordat de database niet gevonden is. Kortom, het pad naar de database is niet correct. Controleer of de locatie goed is.

Stel je hebt bijvoorbeeld als connectionstring de code

ASP:
1
2
strCon = "DRIVER={Microsoft Access Driver (*.mdb)};" & _
   "uid=;pwd=letmein; DBQ=" & Server.MapPath("users.mdb")

Output deze naar het scherm door middel van de regel

ASP:
1
2
3
4
strCon = "DRIVER={Microsoft Access Driver (*.mdb)};" & _
   "uid=;pwd=letmein; DBQ=" & Server.MapPath("users.mdb")
Response.Write strCon
Response.End

Je zal dan iets krijgen van bijvoorbeeld

DRIVER={Microsoft Access Driver (*.mdb)};uid=;pwd=letmein; DBQ=c::\Inetpub\wwwroot\users.mdb

Controleer of dit laatste pad bestaat.

· ^

4. Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record

Deze fout hangt samen het uitlezen van een recordset, welke leeg is. Om de fout goed te begrijpen, is een beetje achtergrond informatie nodig.Een recordset is vergelijkbaar met een tabel. Stel, het resultaat van een query is weergegeven in de volgende recordset, welke we iets nader gaan bekijken:

IndexAchternaamVoornaamLeeftijd
1PietersenKees21
2KlaassenJan22
3HuismanLinda22
ASP:
1
2
3
4
5
Set objPagingConn = Server.CreateObject("ADODB.Connection")
objPagingConn.Open CONN_STRING
Set objPagingRS = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM Bedrijf"
objPagingRS.Open SQL, objPagingConn, 3, 1

Goed, we hebben op dit punt een recordset geopend. Echter, als we nu doen:

ASP:
1
Response.Write objPagingRS("Achternaam")

Krijgen we de eerder genoemde foutmelding. Waarom? We hebben de recordset geopend, maar we hebben nog geen record aangegeven.

We moeten dus de recordset ook nog gaan lezen:

ASP:
1
2
objPagingRS.Read
Response.Write objPagingRS("Achternaam")

Ook geldt dat als de recordset nu leeg is (dus we geen waarden hebben teruggekregen uit de database) de ook deze foutmelding krijgen. Dan moeten we het statement iets uitbreiden en controleren of er uberhaupt wel waarden zijn teruggegeven:

ASP:
1
2
3
4
5
6
7
8
9
10
11
If Not objPagingRS.EOF Then
' Als we niet aan het einde van de recordset zijn, oftewel er zijn geen records

objPagingRS.Read
Response.Write objPagingRS("Achternaam")

Else

   Response.Write "Geen waarden gevonden"

End if

Het kan echter ook gebeuren dat we niet 1, maar 0 of meerdere records willen uitlezen. Hiervoor kunnen we de volgende code gebruiken:

ASP:
1
2
3
4
5
6
7
8
9
10
11
Do While Not ObjPagingRS.EOF
   ' Zolang we nog niet aan het einde van de recordset zijn

   Response.Write(objPagingRS.Fields("Achternaam"))
   ' Zet op het scherm neer de waarde uit het veld "Achternaam"

   ObjPagingRS.MoveNext
   ' Ga naar het volgende record toe

Loop
' Herhaal de procedure

Wat vaak vergeten wordt, is de ObjPagingRS.MoveNext. Zonder deze krijg je een oneindige loop en blijft je applicatie aan het laden.

· ^

5. Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another

Ook deze fout komt voor in combinatie met database toegang. Vooral als deze database Microsoft Access is. Een mogelijke, foutieve query is:

SQL:
1
SELECT soort_dv, positie FROM dienstverb_per WHERE sofi_nr ='174584490'

Voor Access is namelijk

SQL:
1
SELECT soort_dv, positie FROM dienstverb_per WHERE sofi_nr ='174584490'

Niet gelijk aan

SQL:
1
SELECT soort_dv, positie FROM dienstverb_per WHERE sofi_nr =174584490

In het eerste geval moet het veld in je database een tekstveld zijn. In het tweede geval moet het veld in je database een numeriek veld zijn.

Samengevat: Teksten moeten aangegeven worden door middel van 'tekst'. Nummers mogen geen single quotes bevatten.

· ^

6. Subscript out of range

De meest voorkomende situatie is in combinatie met arrays. Stel je hebt 5 elementen in je array en je wilt het 6e element hebben.

Voorbeeld:

ASP:
1
2
3
4
5
Dim arrTest(2)
arrTest(1) = "Blaat"
arrTest(2) = "Blaat2"

Response.Write (arrTest(3))

De drie zit in dit geval buiten de range en zit dus niet in de array.

· ^

7. [Microsoft][ODBC Microsoft Access Driver] Too many client tasks

Deze fout kan voorkomen als niet alle connection - en recordset objects netjes worden afgesloten. Sluit deze daarom ook altijd en vernietig deze.

Voorbeeld:

ASP:
1
2
3
4
5
6
7
8
9
Set objPagingConn = Server.CreateObject("ADODB.Connection")
objPagingConn.Open CONN_STRING
Set objPagingRS = Server.CreateObject("ADODB.Recordset")

…..

set objPagingRS = Nothing
objPagingConn.close
set objPagingConn = Nothing

In het laatste gedeelte is te zien dat we de boel vernietigen (op Nothing zetten, resources vrijgeven) en de connectie sluiten (objPagingConn.close)

· ^

8. [Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query

NTFS-rechten goed zetten. Dat wil zeggen: IUSR_computernaam account iig schrijfrechten geven op de folder waar de database in staat. Ook moet gecontroleerd worden of de database niet readonly is. Dit kan gebeuren als een database bijvoorbeeld van een cd-rom gekopieerd is.

Een KB artikel, waarin alles goed uitgelegd staat hier

Zie verder ook:

Een andere mogelijkheid is dat de database 'gelocked' is. Dit kan gebeuren als je bijvoorbeeld de database nog open hebt staan; door middel van bijvoorbeeld Microsoft Access. Dit mag niet; Microsoft Access moet afgesloten zijn.

· ^

9. The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.

Deze komt komt voor als je nog http headers wilt sturen naar de client, terwijl er al content gestuurd is. Let dan ook op lege spaties bovenaan je pagina. Daarnaast moet Response.Buffer op True staan

Een voorbeeld waarbij het fout gaat:

ASP:
1
2
3
4
5
Blaat

<%
Response.Redirect "foobar.asp"
%>

Zoals je ziet is er al eerst een stukje tekst naar de client gestuurd. (Blaat). Vervolgens wordt er een header gestuurd (Response.Redirect)

Een goed voorbeeld is dan ook:

ASP:
1
2
3
<%
Response.Redirect "foobar.asp"
%>

Of, iets uitgebreider:

ASP:
1
2
3
4
5
6
7
<%
If Request.Querystring("ikke") = "ja" Then
    Response.Redirect "foobar.asp"
Else
    Response.Write "Blaat"
End if
%>

Als de querystring "ikke" de waarde "ja" heeft, dan wordt er geredirect, anders wordt blaat op het scherm neer gezet.

Response.Buffer staat nergens in de code genoemd. In IIS 4.0 en PWS is de standaardwaarde False. Daar moet hij dus wel genoemd worden. In IIS 5.x en hoger staat deze standaard op True. Daar hoeft hij dus niet expliciet neergezet te worden.

· ^

10. Active Server Pages error 'ASP 0131' Disallowed Parent Path

Als eerste: wat is een parent path? Stel we veronderstellen de volgende code:

ASP:
1
<!-- #include file="..\default.htm"-->

Het gebruik van .. geeft aan dat je naar de parent wil; hier gebruik je dus parent paths. In IIS 4.0 en IIS 5.x staan deze by default op enabled en heb je geen probleem. Echter, Microsoft heeft zich later bedacht in verband met de veiligheid en heeft in IIS 6.0 deze standaard op disabled staan. Ook de BaseLine Security Advisor geeft het advies om hem op disabled te zetten, zodat het 'opeens' ook in disabled kan staan, in IIS 5.x

Om het te enablen /disablen, zie dit artikel.

· ^

11. Permission denied (Met email c.q. CDONTS)

Dit heeft te maken met een rechtenprobleem; het IUSR_computernaam account heeft niet genoeg rechten op bepaalde folders. Voor een oplossing, zie http://www.asp101.com/samples/faq/faq_email.asp

· ^

12. Server.CreateObject Failed

Het is niet gelukt om een bepaald object aan te maken op de server. Stel je hebt bijvoorbeeld de volgende code:

ASP:
1
2
3
4
5
6
7
8
9
10
11
<html>

<body>
<!-- #include file="inc/connection.inc" -->
<%
Set Upload = Server.CreateObject("Persits.Upload")
Count = Upload.Save(".")
Response.Write Count & " file(s) uploaded to c:\upload"
%>
</body>
</html>

Mocht je deze foutmelding krijgen, dan is of het object helemaal niet geïnstalleerd (in bovenstaand geval was Persists.Upload helemaal niet aanwezig) of niet goed geregistreerd (e.g. de benodigde dll waren niet te vinden)

· ^

13. Type mismatch

Dit duidt op een eenvoudige tikfout in je applicatie. Meestal is ook de lijn gegeven. Controleer ook de regels rondom je code op tikfouten, niet afsloten haakjes, vergeten quotes, e.d.

· ^

14. Number of query values and destination fields are not the same

Het aantal opgegeven velden en het aantal opgegeven variabelen is niet gelijk.

Stel je hebt de query:

SQL:
1
Insert INTO tabelnaam (kolom1, kolom2) Values (waarde1)

De foutmelding treedt dan op. De reden: Je wilt 2 kolommen gaan gebruiken (kolom1 en kolom2, maar je geeft maar 1 waarde)

Een complexer ogend voorbeeld, maar wat eigenlijk nog gewoon op bovenstaande neerkomt:

ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SQLstring = "INSERT INTO ledenlijst ("
SQLstring = SQLstring & "nr,datum,hrmw,voorletters,"
SQLstring = SQLstring & "naam,adres,postcode,plaats,"
SQLstring = SQLstring & "telefoon,email,lid,gzl"
SQLstring = SQLstring & ") VALUES (" 
SQLstring = SQLstring & "'" & NewNr & "',"
SQLstring = SQLstring & "'" & NewDatum & "',"
SQLstring = SQLstring & "'" & Newhrmw & "',"
SQLstring = SQLstring & "'" & NewVoorletters & "',"
SQLstring = SQLstring & "'" & NewNaam & "',"
SQLstring = SQLstring & "'" & NewAdres & "',"
SQLstring = SQLstring & "'" & NewPostcode & "',"
SQLstring = SQLstring & "'" & NewPlaats & "',"
SQLstring = SQLstring & "'" & NewTelefoon & "',"
SQLstring = SQLstring & "'" & NewMail & "',"
SQLstring = SQLstring & "'" & NewLid & "'"
SQLstring = SQLstring & ")"
· ^

15. Syntax error (missing operator) in query expression

Er is iets mis in je query; bepaalde onderdelen lijken te missen. Stel we hebben het volgende stukje code:

ASP:
1
2
3
4
5
6
7
8
9
<%
Dim Vid, Vbedrijfsnaam

Dim SQLvraag
SQLvraag = "SELECT * FROM bedrijven WHERE id=" & Vid

Set RSCompanies = Verbinding.Execute(SQLvraag)

%>

Bij deze code kan de fout optreden. Hoe pak je nu zo een fout aan? Je weet in welke regel de fout zit. Je weet verder dat er een fout in je SQL syntax zit. De enige oplossing: debuggen.

Zet de query, voordat je hem uitvoert, op het scherm. Bovenstaand levert dan op:

ASP:
1
2
3
4
5
6
7
8
9
10
11
12
<%
Dim Vid, Vbedrijfsnaam

Dim SQLvraag
SQLvraag = "SELECT * FROM bedrijven WHERE id=" & Vid
Response.Write SQLvraag
Response.End

' We commenten deze regel; deze doet even niet mee bij het debuggen.
' Set RSCompanies = Verbinding.Execute(SQLvraag)

%>

Op het scherm verschijnt nu:

SELECT * FROM bedrijven WHERE id=

En de fout blijkt hier nu duidelijk uit.

· ^

16. ActiveX component can't create object: 'Scripting.FileSystemObject'

Bij veel hosts is het niet toegestaan om toegang te krijgen tot het FileSystem. Dat betekent dus dat je niet kunt lezen en/of schrijven naar de harddisk van je server. Jammer maar helaas, je zult of je host moeten mailen met de vraag of ze het voor je aan willen zetten of vragen of ze een andere oplossing voor je hebben.

Zie ook dit topic.

· ^

17. Overige foutmeldingen

Een aantal overige foutmeldingen staat hier duidelijk beschreven.

[ Voor 196% gewijzigd door NMe op 13-05-2005 17:41 ]

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Dit topic is gesloten.