Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di ominox
    Registrato dal
    Dec 2001
    Messaggi
    218

    Errore chiamata sub in una classe

    Salve,

    Ho questo codice:

    file classe_news.asp

    Codice PHP:

    class cl_news

    private consqldb

    public rs


    Public Sub VisualizzaElencoNews()
         
            
    sql "SELECT  id, titolo, news_stato, news_data FROM news ORDER BY news_data desc"
            
    SET RS Con.Executesql )

    End SUB


    public Sub InserisciNews(id_notiziatitolotestonews_statonews_data)

    Set rs=Server.CreateObject("ADODB.Recordset")

    rs.open "news" ,con,3,3
        rs
    .addnew
            rs
    ("id_notizia")=id_notizia
            rs
    ("titolo")=FixSql(titolo)
            
    rs("testo")=FixSql(testo)
            
    rs("news_stato")=news_stato
            rs
    ("news_data")=news_data
        rs
    .update
    rs
    .close
    Set rs
    nothing
    End Sub 

    con questo codice chiama la funzione InserisciNews ed inserisco i dati nel db e tutto funziona perfettamente:
    Codice PHP:
    titolo             TRIM(  Request.form"titolo" ) )
    testo            TRIMRequest.form"MyTextarea" ) ) 
    news_stato           TRIMRequest.form"stato" ) )
    news_data            TRIMRequest.form"data" ) )

    set obj = new cl_news
    call obj
    .InserisciNews(id_notiziatitolotestonews_statonews_data)
    set obj =nothing
    response
    .redirect "inserimento_news_ok.asp" 

    se invece voglio utilizzre la funzione per visualizzare l'elenco delle news co questo codice:
    Codice PHP:
            

    <%
    Set obj = new cl_news
    obj
    .VisualizzaElencoNews()

        DO 
    Until (obj.rs.EOF)
            
    titolonews=obj.rs("titolo")
            
    news_stato=obj.rs("news_stato")
            
    datanews=obj.rs("news_data")

    %>
     <%=
    datanews%> - <%=titolonews%> - <%=news_stato%>

    <%
        
    obj.rs.MoveNext
        Loop
    Set obj
    .rs nothing

        
    %> 
    Ricevo questo errore:

    Microsoft VBScript compilation error '800a03ea'

    Syntax error

    /admin/gestione2/classi/classe_news.asp, line 2

    class cl_news

    cioè mi da errore sulla creazione della classe (non sul codice cella funzione di visualizzazione!), che invece funziona corrttamente quando richiamo la funzione per inserire la news nel db.

    Come è possibile???

    aiutatemi please :-)

  2. #2
    ho un pò di confusione......php o asp?
    il codice mi sembra asp.....vabbé comunque....
    sogno un pò ignorantino, ma voglio capire....il db dove si trova?

  3. #3
    Utente di HTML.it L'avatar di ominox
    Registrato dal
    Dec 2001
    Messaggi
    218
    ovviamente asp essendo nel forum asp :-)
    Questo è il codice per connettersi al db e sicuramente funziona perche viene usato per l'inserimento dei dati
    Codice PHP:
        Private Sub Class_Initialize()
            
    Set con Server.CreateObject("ADODB.Connection")
            
    con.open "Provider=Microsoft.jet.OLEDB.4.0; Data source=D:\Inetpub\webs\......mdb"            
            
    End Sub 

    E questo il codice che chiude la connessione

    Codice PHP:
        Private Sub Class_Terminate()
                    
    con.close
                    Set con 
    nothing
                    End sub    
    End 
    Class 

  4. #4
    ho capito il misunderstanding! i quote di codice vengono tutti con l'etichetta "codice PHP".....

    quindi, tornando al problema,

    "private con, sql, db "

    questa è la riga 2 della pagina classe_news.asp? o c'é altro che non hai postato?
    (dovresti provare a vedere come hai impostato queste variabili....per capire cosa non piace all'applicazione...)


    NB
    attenzione, non sono un esperto......probabilmente ne sai più tu di me....quindi ti consiglio magari di contattare altri....io cerco solo di arrivare alla soluzione per ordine logico..... mi dispiace per la mia ignoranza....

  5. #5
    scusa ma la connessione CON nella classe quand'è che la apri?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    Utente di HTML.it L'avatar di ominox
    Registrato dal
    Dec 2001
    Messaggi
    218
    questa funzione

    Codice PHP:
    Private Sub Class_Initialize()
            
    Set con Server.CreateObject("ADODB.Connection")
            
    con.open "Provider=Microsoft.jet.OLEDB.4.0; Data source=D:Inetpubwebs......mdb"            
            
    End Sub 
    apre la connessione ogni volta ceh viene creata una nuova classe cl_news(non ha bisogno di essere chiamata è una funzione standard ceh parte ogni volta ceh viene creata la classe

  7. #7
    si grazie la conosco anche io la class_initialize è solo che non la vedevo nel codice



    ma ci arriva il codice alla riga prima di "do until.."? prova dei response.write+response.end per vedere il punto preciso dove si bloicca
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  8. #8
    Utente di HTML.it L'avatar di ominox
    Registrato dal
    Dec 2001
    Messaggi
    218
    L'apertura del db sta in classe_news che include nle file prima ceh si faccio il ciclo:



    <%
    Set obj = new cl_news
    obj.VisualizzaElencoNews()

    DO Until (obj.rs.EOF)



    ...sto impazzendo!

  9. #9
    Utente di HTML.it L'avatar di ominox
    Registrato dal
    Dec 2001
    Messaggi
    218
    di cosa devo fare il responde write responde end?

    grazie

  10. #10
    codice:
    Response.write "qui ci arrivo"
    'response.end   'togli il commento e provalo, se funziona ricommenta e vai avanti
    
    Set obj = new cl_news
    Response.write "oggetto aperto"
    'response.end
    
    obj.VisualizzaElencoNews()
    response.write "elenco ottenuto"
    'response.end
    
    DO Until (obj.rs.EOF) 
    response.write "nel ciclo"
    'response.end
    anche se per quell'errore non so...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.