Goed ik heb voor de 100ste keer een probleem met ASP, ik probeer een database uit te lezen hieronder verkorte code:
code:de dikgedrukte regel veroorzaakt de volgende foutmelding:set rs_messages = server.createobject("adodb.recordset")
sql = "SELECT id,user,username,date,text FROM messages WHERE topic=" & topic & " ORDER BY date"
rs_messages.open sql, conndo while not rs_messages.eof
....
message_user = rs_messages.fields("user")
....set rs_get_user_info = server.createobject("adodb.recordset")
sql = "SELECT nickname,email,homepage,subtitle,signature,avatar FROM users WHERE id=" & message_userrs_get_user_info.open sql,conn
[b]nickname = rs_get_user_info.fields("nickname")[/b]
......rs_get_user_info.close
.......rs_messages.movenext
looprs_messages.close
Soort fout:
ADODB.Field (0x800A0BCD)
BOF of EOF is Waar, of de huidige record is verwijderd. Voor de gewenste bewerking moet er een huidige record zijn.
/view_topic.asp, line 37
Hoe los ik dit op? iemand?
quote:je bedoelt een fout in de query? lijkt me onwaarschijnlijk ik zal het controleren
Op zondag 29 juni 2003 20:47 schreef matthijn99 het volgende:
Dikgedrukt toont niet in je code, maar ws heb je te maken met een lege recordset.
het mag duidelijk zijn dat dit dikgedrukt moestzijn :
nickname = rs_get_user_info.fields("nickname")
code:if not rs_get_userinfo.BOF and not rs_get_userinfo.EOF then
nickname = rs_get_user_info.fields("nickname")
....
end if
quote:ik heb em al het lag half aan de query id was op een gegeven moment 0 en die bestond niet. dus een lege recordset maar dan hoeft ie nog geen foutmelding te geven, alleen dat doet hij dus wel (ben php gewend) thnx.
Op zondag 29 juni 2003 20:52 schreef matthijn99 het volgende:
De query hoeft nog niet fout te zijn om een lege recordset op te leveren. Maar als je zeker weet dat je een record moet krijgen heb je dus de query verkeerd samengesteld.
code:Met hier en daar nog wat wijzigingen in je code. Je kan het beste een recordset niet openen en sluiten in een loop. Het beste kan je even aan het begin van de loop alle recordsets/connecties etc open zettenSET rs = Server.CreateObject("ADODB.RecordSet")
SET rs2 = Server.CreateObject("ADODB.RecordSet")SQL = "SELECT id,user,username,date,text FROM messages WHERE topic=" & topic & " ORDER BY date"
rs.open SQL, conn, 1, 1IF rs.recordcount > 0 THEN
DO WHILE rs.eof = FALSE
....
message_user = rs.fields("user")
....SQL2 = "SELECT nickname,email,homepage,subtitle,signature,avatar FROM users WHERE id=" & message_user
rs2.open SQL2, conn, 1, 1
IF rs2.recordcount > 0 THEN
[b]nickname = rs2.fields("nickname")[/b]
......
ELSE
' Wat weer te geven als er 0 records gevonden zijn.
END
rs2.close
rs.movenext
LOOP
ELSE
' Wat weer te geven als er 0 records gevonden zijn.
END IFrs.close
SET rs = NOTHING
SET rs2 = NOTHING
Maar je bent er al uit zo te zien....
Verwacht je 1 resultaat:
code:Meerdere resultaten:if RS.eof=false then
[..]
end if
code:while RS.eof=false
[...]
RS.MoveNext
wend
kijk als je dit doet:
response.write("Hello ")
response.write("World")
dan staat er in je html code;
Hello World
en niet:
Hello
World
Hoe doe je dat, ik zoek naar bugs in mn code en een beetje overzicht kan geen kwaad . Ik ben bewust van "vbcrlf" maar het moet toch op een normale manier kunnen. Dat "vbcrlf" is slordig en het lijkt mij omslachtig...
quote:Hmm, ik weet niet of dit is wat je bedoelt maar
Op maandag 30 juni 2003 00:58 schreef ErikN het volgende:
nog een vraagjekijk als je dit doet:
response.write("Hello ")
response.write("World")dan staat er in je html code;
Hello Worlden niet:
Hello
WorldHoe doe je dat, ik zoek naar bugs in mn code en een beetje overzicht kan geen kwaad . Ik ben bewust van "vbcrlf" maar het moet toch op een normale manier kunnen. Dat "vbcrlf" is slordig en het lijkt mij omslachtig...
code:doet toch gewoon wat jij wilt?response.write("Hello <br>World")
quote:nee dat bedoel ik niet de html output moet verspreid over 2 regels maar in internet explorer gewoon 1 regel
Op maandag 30 juni 2003 01:05 schreef FAQ het volgende:[..]
Hmm, ik weet niet of dit is wat je bedoelt maar
code:doet toch gewoon wat jij wilt?response.write("Hello <br>World")
Dus zit er niks anders op dan gewoon vbcrlf aan je strings te plakken.
quote:
nee dat bedoel ik niet de html output moet verspreid over 2 regels maar in internet explorer gewoon 1 regel
code:Dat dan?response.write("Hello \n World")
quote:Nee, vbcrlf is de VBScript equivalent van \n in JavaScript.
Op maandag 30 juni 2003 12:50 schreef artyfarty het volgende:[..]
code:Dat dan?response.write("Hello \n World")
Je moet het als volgt zien, je tiept een stuk tekst net zoals hier bij fok. Vervolgens selecteer je het met de muis en je drukt op een knopje (lees: selecteert uit lijst) een kleur en die tekst moet meteen die kleur worden. Ergens verstopt in een hidden textbox ofzo heb je dan normale ubb code.
Hoe krijg je zoiets voor elkaar? Ik ben al begonnen met javascript dingetjes zoeken. Ik weet niet wat wijsheid is in dit geval dus voor ik allemaal domme dingen ga maken ben ik wel benieuw hoe jullie het aan zouden pakken...
Hier een preview van mijn forum:
http://217.122.224.31/index.asp?topic=1
Erik
Het komt er op neer dat je je TEXTAREA kan behouden om de tekst te typen, maar je doet tijdens 't opbouwen van je pagina een extra javascript aanroep: editor_generate('<textarea-id>');
Dit tovert je textarea vanzelf om in een full-featured html editor!
quote:thnx, ik wil het uiteindelijk toch zelf maken (ik moet dit leren voor mijn stage) maar nu heb ik een goed voorbeeld. best handig zon centraal asp topic
Op maandag 30 juni 2003 14:25 schreef kobold het volgende:
Dit is een mooie: http://www.interactivetools.com/products/htmlarea/ (gratis)Het komt er op neer dat je je TEXTAREA kan behouden om de tekst te typen, maar je doet tijdens 't opbouwen van je pagina een extra javascript aanroep: editor_generate('<textarea-id>');
Dit tovert je textarea vanzelf om in een full-featured html editor!
edit: handige links
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmshtml/html/mshtmleditplatf.asp
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/commandids.asp
quote:Die links ken ik ja, maar dat maakt gebruik van dezelfde "engine" als Word & Frontpage. Het levert dus bagger HTML op en bovendien werkt het niet in andere browsers.
Op maandag 30 juni 2003 14:45 schreef ErikN het volgende:
JE-ZUS moet je eens voor de grap naar die source kijken dat wordt hoofdpijn krijgen straks
edit: handige linkshttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmshtml/html/mshtmleditplatf.asp
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/commandids.asp
Die link van mij levert wel cleane HTML op, daarom is de Javascript code wat ingewikkelder. Maar in principe staat daar niets in wat je niet zelf had kunnen bedenken. (dat geldt voor mezelf tenminste, heheh)
quote:Mijn probleem is dat ik geen javascript kan, maargoed een week geleden ook nog geen asp. Ik ga dan wel eerst de javascript syntax leren en dan maar voor de cleane code, want ik flip al helemaal als een letters 2 pixels te ver naar links staan. Het gaat niet om de 2 pixels maar ik de letter moet doen wat ik zeg . najah eerst maar weer werken, vanavond verder...
Op maandag 30 juni 2003 15:28 schreef kobold het volgende:[..]
Die links ken ik ja, maar dat maakt gebruik van dezelfde "engine" als Word & Frontpage. Het levert dus bagger HTML op en bovendien werkt het niet in andere browsers.
Die link van mij levert wel cleane HTML op, daarom is de Javascript code wat ingewikkelder. Maar in principe staat daar niets in wat je niet zelf had kunnen bedenken. (dat geldt voor mezelf tenminste, heheh)
quote:het andere topic hierover werd gesloten ik heb inmiddels deze link gekregen:
Op woensdag 2 juli 2003 20:01 schreef ErikN het volgende:
Hallo, is er een manier om bestanden te uploaden met ASP zonder domme plugins of andere vage shit. Ik heb IIS lokaal draaien om te testen, ik heb tot nu toe alleen chilisoft asp upload gevonden maar dat ondersteund alleen apache. Is er misschien een andere manier?
alleen deze is veels te uitgebreid ik wil gewoon de commando's en syntax weten, en niet 500 regels code doorlezen die waarschijnlijk niet eens werkt
Ik heb nu al 100 keer iets uit een database gelezen en ineens wil het niet meer... Ik heb een formulier gemaakt met daarin een username, password en submit knop je drukt submit de waardes worden goed ontvangen (heb getest met response.write). Maargoed meneer ASP vind dat er een fout zit in regel 11
Soort fout:
Microsoft JET Database Engine (0x80040E10)
Waarden voor een of meer vereiste parameters ontbreken.
/login.asp, line 11
<%
dim login_nickname
dim login_password
login_nickname = request.form("login_nickname")
login_password = request.form("login_password")
if login_nickname <> "" and login_password <> "" then
set rs_login1 = server.createobject("adodb.recordset")
sql = "SELECT password FROM users WHERE nickname=" & login_nickname
rs_login.open sql, conn
login_password = rs_login.fields("password")
rs_login.close
end if
ik erger me weer helemaal dood aan dat vieze asp ik ga wel tv kijken ofzo
|
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |