Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [ASP Classico] Valori restituiti da una funzione

    Salve a tutti,
    ho creato una pagina ASP che include un'altra pagina ASP dov'è dichiarata una funzione per la connessione al database, creo questa funzione per riutilzzarla più volte quando mi serve per non duplicare il codice. Il codice della funzione è il seguente:

    codice:
    <%
       'creo una funzione che mi permette di creare una connessione al database
       Function connection(url, sql, mode)
                Dim conn
                'creo l'oggetto Connection
                Set conn = Server.CreateObject("ADODB.Connection")
                'apro la connessione con la fonte di dati
                conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(url)
                ' dichiaro la variabile che conterrà l'oggetto Recordset
                Dim rs
                'creo l'oggetto Recordset
                Set rs = Server.CreateObject("ADODB.Recordset")
                'ottengo il recordset
                rs.Open sql, conn
                'Chiudo la connessione e ritorno il recordset
                conn.Close
                Set conn = Nothing
                'ritorno il recordset
                connection = rs
       End Function
    %>
    mentre la pagina che include la funzione precedente è così fatto:

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    
    <head>
    <title>Delibre comune 2009 1.0</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <meta name="generator" content="HAPedit 3.1">
    </head>
    
    <body bgcolor="#FFFFFF">
          <h3>Pagina di ricerca delle delibere comunali...inserire la chiave di ricerca </h3>
           <form name="panel" action="index.asp" method="post">
               <input type="text" name="cerca" />
               <input type="submit" value="Cerca!"/>
           </form>
           <table border = "1">
          
           <%  'leggo il parametro di ricerca
               dim parm
               parm = Request.Form("cerca")
               if(parm <> "") then
                       'ho ricevuto il parametro
                       dim strSql
                       strSql = "SELECT * FROM Veicoli WHERE Numero = '" & parm
                       'chiamo la funzione che mi ritorna il rs
                       Dim rs
                       'creo l'oggetto Recordset
                       rs = call connection("/ASP/mdb-database/comune.mdb", strSql, 0)
                       Do While not rs.EOF
                       %>
                            <tr>
                            <td>
                            <%=rs.Fields("ID_Delibera").Value %>
                            </td>
                            </tr>
                       <%
                           rs.MoveNext
                       loop
               end if
           %>
           </table>
    </body>
    
    </html>
    mi da un errore nella riga :

    codice:
     rs = call connection("/ASP/mdb-database/comune.mdb", strSql, 0)
    è un errore di sintassi, come faccio a prendere il recordset che mi passa la funzione che chiamo con la call?Grazie 1000 ciao!

  2. #2
    se è una function, non ci va la CALL, non ti pare?

  3. #3
    Ora ho corretto con

    codice:
    rs = connection ("/ASP/mdb-database/comune.mdb", strSql, 0)
    Ma mi restituisce il seguente errore:

    Tipo di errore:
    Errore di run-time di Microsoft VBScript (0x800A01C2)
    Numero errato di argomenti o assegnazione di proprietà non valida
    /ASP/index.asp, line 28

    dovuto certamente all'assegnazione del recordset che mi ritorna alla variabile rs, come posso assegnare il recordset che mi ritorna dalla funzione ad una variabile?Grazie ancora

  4. #4
    prova con

    Set rs = Server.CreateObject("ADODB.Recordset")
    rs = connection ("/ASP/mdb-database/comune.mdb", strSql, 0)

  5. #5
    Non va mi da lo stesso errore..nn voglio ripetere lo stesso codice per accedere al Db tante volte il mio prof mi uccide

  6. #6
    quando usi oggetti devi usare sempre set... manca nella funzione, manca quando la usi

  7. #7
    rs = connection("/ASP/mdb-database/comune.mdb", strSql, 0)
    in pratica tu dici di fare così?:

    Set rs = connection("/ASP/mdb-database/comune.mdb", strSql, 0)

  8. #8

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.