Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118

    Problemi su un call di una sub...............

    Ragazzi in una pagina common.asp ho personalizzato questo codice:

    codice:
    <%
    'INIZIO IMPOSTAZIONI ******************
    session.LCID = 1040
    dbPath = server.mapPath("\attex\liste.mdb")
    dbConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& dbpath
    'FINE IMPOSTAZIONI *******************
    sub elencoGiocatori(objConn,byRef elencoGiocatoriOutput)
    	sql = "SELECT * FROM segreterie order by conta"
    	set rs = server.createObject("ADODB.Recordset")
    	rs.open sql, objConn, 1, 3
    	if not rs.eof then
    		v = 0 'Contatore giocatori
    		ReDim elencoGiocatoriOutput((rs.recordCount-1),3)
    		do while not rs.eof
    	
    			elencoGiocatoriOutput(v,0) = rs("conta")
    			elencoGiocatoriOutput(v,1) = rs("descr")
    			elencoGiocatoriOutput(v,2) = rs("media")
    
    			v = v + 1
    		rs.moveNext
    		loop
    	end if
    	rs.close
    	set rs = nothing
    end sub
    richiamato in questa pagina default.asp

    codice:
    <%
    call dbConnect(conn,dbConnString)
    call elencoGiocatori(conn,elencoGiocatoriOutput)
    call dbDisconnect(conn)
    %>
    ma mi da :

    Tipo di errore:
    Errore di run-time di Microsoft VBScript (0x800A000D)
    Tipo non corrispondente: 'elencoGiocatori'


    Perchè secondo voi?

  2. #2
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Secondo me quello che si vede è un po' poco per capire esattamente cosa succede.

    Il mio consiglio è dichiarare nel codice dello script principale la connessione. Poi la passi alle funzioni, ma per riferimento (di default, non indicare niente significa passaggio per valore).

  3. #3
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Cioè dovrei impoostare la stringa di connessione nella pagina default.asp? La funzione elencogiocatori la lascio nel file common.asp ma devo richiamarla nel file default.asp

    Ho capito correttamente?

  4. #4
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Anche in una include va bene, l'importante è che non venga istanziata dentro ad una function oppure ad una sub.

    Se ti serve usare una connection o un recordset in più sub o funzioni, istanziala nel "codice principale", poi passala per riferimento.

    Ad es.:
    codice:
    Function ApriConnssione(ByRef Connnn, ByVal PercorsoNomeDB)
      Connnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath(PercorsoNomeDB)
    End Function
    
    
    Set MyConn = Server.CreateObject("ADODB.Connection")
    ApriConnessione(MyConn, "C:\inetpub\miodb\miodb.mdb")
    [...]

  5. #5
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Apprezzo la tua disponibilità ma mi trovo un pò indietro con le sub o le function. Ricapitolando, io ho questo file common.asp che ha al suo interno la connessione e più tre funzioni. Li richiamo con il call nella pagina default asp che mi dovrebbe mandare a video il form. Eppure mi dice che il tipo non corrispondente riguardo alla funzione. Quindi la connessione dovrebbe "passare". Non dovrebbe trattarsi di un errore di connessione. Fermo restando che come ho detto non lavoro molto con gli include.........

  6. #6
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Fai finta che gli include servano a creare un unico codice finale: considera sempre che la tua pagina asp sia l'unione di tutti i codici degli include più la pagina che li contiene.

    Prova a modificare così il tuo codice:

    sub elencoGiocatori(ByRef objConn, byRef elencoGiocatoriOutput)

  7. #7
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Fatto. Ma......come prima....si ferma alla riga 4 ( call elencoGiocatori(conn,elencoGiocatoriOutput) ) . Tipo non corrispondente: 'elencoGiocatori'. Ora mi domando, che vuole dire con tipo non corrispondente?

  8. #8
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Dovresti postare il codice completo, compreso del codice contrnuto negli include.

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,563
    Prova:

    codice:
    call elencoGiocatori(objConn ,elencoGiocatoriOutput)
    Roby

  10. #10
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Ragazzi mi cospargo il capo di cenere. Era un "bruttissimo" errore mio di impostazione cartelle.
    Adesso mi da un problema quà:
    common.asp
    codice:
    <%
    'INIZIO IMPOSTAZIONI ******************
    session.LCID = 1040
    dbPath = server.mapPath("\attex\liste.mdb")
    dbConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& dbpath
    'FINE IMPOSTAZIONI *******************
    sub elencoGiocatori(by Ref objConn,byRef elencoGiocatoriOutput)
    	sql = "SELECT * FROM segreterie order by conta" 
    	set rs = server.createObject("ADODB.Recordset")
    	rs.open sql, objConn, 1, 3
    	if not rs.eof then
    		v = 0 'Contatore giocatori
    		ReDim elencoGiocatoriOutput((rs.recordCount-1),3)
    		do while not rs.eof
    	
    			elencoGiocatoriOutput(v,0) = rs("conta")
    			elencoGiocatoriOutput(v,1) = rs("descr")
    			elencoGiocatoriOutput(v,2) = rs("media")
    
    			v = v + 1
    		rs.moveNext
    		loop
    	end if
    	rs.close
    	set rs = nothing
    end sub
    
    .......................
    Gli argomenti non sono di tipo valido, non sono compresi nell'intervallo consentito o sono in conflitto.


    Bisogna imparare lo so.....ma quando hai un'azienda che ti tira il fiato nel collo per mille cose....

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 © 2024 vBulletin Solutions, Inc. All rights reserved.