Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Conflitto tra Server.Execute e Recordset

    Salve ho un problema e spero che qualcuno mi possa aiutare.

    Nel mio sito la home page richiama degli include dinamici tramite il comando Server.Execute, ma in alcuni di questi include è presente una connessione a database MySQL e mi genera un errore al richiamo della pagina andando in conflitto con il comando RS.Open (apertura del recordset RS).

    Ho scelto il server.execute perchè posso impostare una variabile non come nell'inclusione semplice che nn è modificabile.

    Sapete dirmi qualcosa?

    Grazie a tutti ^___^
    Fabrizio
    Nemesis
    www.slamdunk.it

  2. #2
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Che cosa significa conflitto? Cosa intendi? Che errore ti da ?

  3. #3

    ...

    Per conflitto intendo che uno nn permette l'esecuzione dell'altro. Cronologicamente viene eseguito prima il Server.Execute e quindi è il recordset che ne risente.

    Allora ecco l'errore:
    ADODB.Recordset error '800a0bb9'

    Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

    /new/sezioni/site/Staff.htm, line 18

    Nella pagina Staff.htm alla riga 18 c'è "RS.Open SQL, objConn".

    Se hai bisogno di altro codice dimmelo che ti posto per bene tutto.
    Nemesis
    www.slamdunk.it

  4. #4
    dal tipo di errore, pare che la variabile SQL non sia corretta. controlla

  5. #5
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    allora, la server execute esegue dinamicamente una pagina ma in uno spazio di memoria differente dalla pagina chiamante...

    In un esempio:

    Default.asp è:
    codice:
    Dim Test
    Test = "1"
    Server.Execute("Pagina.asp")
    Response.Write(Test)
    Pagina.asp è:
    codice:
    Test="2"
    L'ultima istruzione Response.Write, stamperà 1 e non 2.
    Ovvero, le variabili create in Default.asp non sono visibili in Pagina.asp

  6. #6

    ...

    ma allora come posso risolvere questo problema????

    La variabile SQL è valida e corretta, su quello sono sicuro al 100%.
    Nemesis
    www.slamdunk.it

  7. #7
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    e la variabile di connessione, dove la dichiari?

  8. #8
    fattela stampare e postala

  9. #9

    ...

    allora guarda posto tutto il codice che serve:

    -------------------- Dati connessione MySQL ---------------------

    <%
    Dim MySQLSVR, MySQLPRT, MySQLUID, MySQLPWD, MySQLDB, MySQLOPT, DB_CONNECTIONSTRING, objConn, RS, SQL, RS2

    ' UPDATE THESE VALUES for MySQL ******************************************
    MySQLSVR = "00.000.000.00" ' enter IP or hostname of MySQL server
    MySQLPRT = 3306 ' enter MySQL port (default 3306)
    MySQLUID = "Username" ' enter Username (between quotes)
    MySQLPWD = "password" ' enter Password (between quotes)
    MySQLDB = "nomedb" ' enter Active DataBase (between quotes)
    MySQLOPT = 16387 ' enter MyODBC options values (at least 16387)
    ' END OF UPDATE ************************************************** ********

    ' MySQL Version
    DB_CONNECTIONSTRING = "driver={MySQL};server="&MySQLSVR&";port="&MySQLPR T&";"_
    & "uid="&MySQLUID&";pwd="&MySQLPWD&";database="&MySQ LDB&";option="&MySQLOPT&""
    set objConn = server.createObject("ADODB.Connection")
    objConn.Open DB_CONNECTIONSTRING
    %>

    Ovviamente i dati personali sono stati omessi.
    ---------------------- Pagina home.asp -------------------------

    <% Server.Execute "sezioni/site/Staff.htm" %>

    La bellezza del Server.execute è che esegue anche le pagine che hanno estensione .htm (se queste contengono codice e anche non).

    ---------------------- Pagina Staff.htm ------------------------
    <%
    ' Apertura ed esecuzione della query
    Set RS = Server.CreateObject("ADODB.Recordset")
    SQL="SELECT * FROM members ORDER BY IDMembro;"
    RS.Open SQL, objConn
    ' Fine
    %>
    <p class="contenuto">
    <% do while not RS.eof %>
    Tensai: <%= RS("Nome").Value %>

    E-Mail: <%= RS("Email").Value %>

    <% if RS("MSN").Value="" then %>
    MSN: Non Presente

    <% else %>
    MSN: <%= RS("MSN").Value %>

    <% end if %>
    Ruolo: <%= RS("Ruolo_ita").Value %>



    <%
    RS.moveNext
    loop
    %>
    </p>
    <%
    ' Chiusura Recordset
    RS.Close
    set RS = nothing
    %>
    --------------- Pagina chiusura connessione al db ------------
    <%
    objConn.close
    set objConn = nothing
    %>


    Nota: nella stringa "RS.Open SQL, objConn" ho provato anche a mettere il formato "RS.Open SQL, objConn, 1, 3" ma senza avere successo.
    Nemesis
    www.slamdunk.it

  10. #10
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    Originariamente inviato da Baol74
    e la variabile di connessione, dove la dichiari?
    nella pagina staff non c'è.
    devi ricrearti tutti gli oggetti che ti servono. è una pagina autonoma che gira in uno spazio di memoria indipendente
    Tutti vogliono parlare, nessuno sa ascoltare.

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