Flere oplysninger til "Database operation "select" failed"...

greenspun.com : LUSENET : WebdesignII : One Thread

ved klik på mit 'kommentar-link' i bunden af min index-side, får jeg følgende fejlmeddelelse:

Database operation "select" failed (exception NSDB, "Query was not a statement returning rows.") while executing "ns_db select $db $query" invoked from within "set selection [ns_db select $db $query] " (file "/web/mikaelm/www/oevelse7/comments.tcl" line 23) invoked from within "source $file"

Jeg har været igennem min kode mange gange og kan ikke finde problemet. Det mærkelige er, at kommentarservicen HAR virket!!! Er der nogen som kan se fejlen?

Min kode ser ud som følger:

set_form_variables 0

# Her tjekkes om url-adressen har den rette form if {![info exists url] || ![regexp {^http://([a-zA-Z0-9\.\-/_:]+)$} $url]} { ns_return 200 text/html "forkert url" return }

# Her skabes kontakt til databasen, som lægges i variablen 'db' set db [ns_db gethandle]

# Vi laver en select-forespørgsel hvor indholdet af tabellen # 'comments' = url'en på min index-side, Resultatet sættes som # variablen 'query' set query "select id, url, insertdate, name, email, text from comments where url = '$url'"

# Indholdet af variablen 'query' hentes fra databasen vha. # kommandoen 'ns_db select' set selection [ns_db select $db $query]

# Loop through the rows set comments "" while { [ns_db getrow $db $selection] } {

# make it possible to refer to the column names # as tcl-variables set_variables_after_query

# Append a comment to the tcl-variable 'comments' append comments "

  • $text \n $name - $insertdate
  • \n" } # Return a page with the comments to the user - the perfect # solution returns a message ``no reader comments'' if there are # no comments associated with the page ns_return 200 text/html ""

    -- Mikael Møller (mikaelm@mail.dk), April 10, 2001

    Answers

    Jeg har lige prøvet din kommentarservice og det ser ud til at virke. Jeg gætter, at du havde slettet tabellerne og ikke oprettet dem igen.

    -- Niels Hallenberg (nh@it-c.dk), April 13, 2001.

    Jeg har selv kæmpet med samme problem - og har endelig fundet kilden til fejlen i mit tilfælde: Der skal IKKE være semikolon til sidst i SQL-forespørgslen --- så ved man da det!!!!!

    -- Mette Bie (bie@it-c.dk), November 05, 2001.

    Moderation questions? read the FAQ