[ASP] iets opzoeken uit een database

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

  • Alpha-sphere
  • Registratie: Januari 2001
  • Laatst online: 14-12-2021
he gasten ik heb een vraagje over het opzoek van iets uit een database.

Normal gesproken doe ik altoijd het volgende
code:
1
2
3
4
5
Set connectionToDatabase=Server.CreateObject("ADODB.Connection")
connectionToDatabase.ConnectionTimeout=60
connectionToDatabase.Open "DSN=test"
Set recordSet=Server.CreateObject("ADODB.Recordset")
recordSet.Open "SELECT * FROM voorstelling WHERE NAAM='"& frmVoorstellingen &"'",connectionToDatabase

Maar is het ook mogelijk om het volgende regeltje van hierboven ergens anders in de pagina uit te voeren? bijvoorbeeld ergens tussen een if then statement
code:
1
recordSet.Open "SELECT * FROM voorstelling WHERE NAAM='"& frmVoorstellingen &"'",connectionToDatabase

Assume there are no rules and it's one big free for all


  • Sjaaky
  • Registratie: Oktober 2000
  • Laatst online: 03-09 23:48
Probeer het eens, zou ik zeggen :)

(Stiekum, het antwoord is ja)

  • Alpha-sphere
  • Registratie: Januari 2001
  • Laatst online: 14-12-2021
ik heb het al geprobeerd maar ik krijg een foutmelding dus ik dacht dat het niet kon

Assume there are no rules and it's one big free for all


Verwijderd

Waarschijnlijk omdat je die regel bovenaan ook hebt laten staan. Dan probeert ie 2x de recordset te openen. Wat ik meestal doe om een recordset te vullen is een aparte string voor de query te definieren en deze alsvolgt aanroepen:
code:
1
2
sql = "SELECT * FROM voorstelling WHERE NAAM='"& frmVoorstellingen &"'"
Set recordSet = connectionToDatabase.Execute(sql)

  • Alpha-sphere
  • Registratie: Januari 2001
  • Laatst online: 14-12-2021
Op woensdag 20 maart 2002 10:21 schreef DjMisterY het volgende:
Waarschijnlijk omdat je die regel bovenaan ook hebt laten staan. Dan probeert ie 2x de recordset te openen. Wat ik meestal doe om een recordset te vullen is een aparte string voor de query te definieren en deze alsvolgt aanroepen:
code:
1
2
sql = "SELECT * FROM voorstelling WHERE NAAM='"& frmVoorstellingen &"'"
Set recordSet = connectionToDatabase.Execute(sql)
Nee dat was gewoon een voorbeeld. Ik had daar nog niks staan en later in de pagina had ik het volgende
code:
1
2
        zoekOpdracht = "SELECT * FROM tabel1 WHERE kolom1 = '" & frmInvoerA & "'"
        Set recordset = connectionToDatabase.execute(zoekOpdracht)

Maar als ik dat heb gedaan wil ik iets op gaan zoeken met het volgende
code:
1
2
3
4
5
6
7
8
9
10
11
if recordSet.bof and recordset.eof then
          response.Write "Niet gevonden."
    else
        Response.Write("<center><table border=1><tr><th>Voorstelling</th><th>Datum</th><th>Tijd</th></tr>")
        response.Write("<tr>")
          response.Write("<td>" & recordSet("NAAM") & "</td>")
        Response.write("<TD>" & recordSet("Datum") & "</TD>")
        Response.write("<TD>" & recordSet("Tijd") & "</TD>")
        response.Write("</tr>")
        response.Write("</table></center>")
    end if

maar ik krijg het volgende error

Error Type:
ADODB.Recordset (0x800A0E78)
Operation is not allowed when the object is closed.
/yilkee test/zoek.asp, line 45

en dit is line 45
code:
1
if recordSet.bof and recordset.eof then

Assume there are no rules and it's one big free for all


  • oZy
  • Registratie: Juli 2001
  • Laatst online: 10:46

oZy

dan moet je ff zoeken waar je "recordset.close" zegt en dat naar beneden zetten (onder regel 45 dus).

Je moet je recordset niet sluiten als je hem daarna nog gaat gebruiken.

  • Battle Bunny
  • Registratie: Oktober 2001
  • Laatst online: 02-02 21:41
Object closed :?

Probeer em eens te openen dan? :)

Lijkt me niet echt een lastige error (zowaar een MS error die logisch is)

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Begin eens met een manual te lezen zou ik zo zeggen.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1

Dit topic is gesloten.