Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 29
  1. #11
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    codice:
    conn.state: <%= conn.state %>
    
    rs.state: <%= rs.state %>
    
    
    response.write conn.state &"
    "
    response.write rs.state &"
    "
    Che restituisce?
    A S P : tutto il resto è noia...
    L I N U X : forse mi "converto"...

  2. #12
    Restituisce questo

    conn.state: 1
    rs.state: 0
    Più PILU per tutti!!

  3. #13
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Non si apre il recordset... :master:
    A S P : tutto il resto è noia...
    L I N U X : forse mi "converto"...

  4. #14
    appunto... non capisco...

    sbaglio qualcosa?

    secondo me l'errore è nella store procedure
    Più PILU per tutti!!

  5. #15
    Ho fatto un ulteriore test

    Ho creato una nuova store procedure

    codice:
    CREATE PROCEDURE sp_Test 
    AS
    BEGIN
    	-- Ritorna la select della tabella temporanea
    	Select * From myTabella;
    END
    Così invece la richiamo da asp

    codice:
    <% Set Conn = server.CreateObject("ADODB.Connection")
    conn.connectionstring = connectionstring
    conn.open
    Set cmd = Server.CreateObject("ADODB.Command")
    Set cmd.ActiveConnection = conn
    cmd.CommandText = "sp_Test"
    cmd.CommandType = adCmdStoredProc
    set rs = cmd.execute() %>
    conn.state: <%= conn.state %>
    
    rs.state: <%= rs.state %>
    
    <% do while not rs.EOF  %>
    	<%= rs("ID") %> -
    	<% rs.MoveNext %>
    <% loop  %>
    <% set rs = nothing %>
    <% set cmd = nothing %>
    <% set conn = nothing %>
    La store procedure mi ritorna un recorset che riesco a ciclare e visualizzare.

    Poi all'interno della store procedure ho provato a fare delle modifiche aggiungendo prima della SELECT delle INSERT
    Cioè:
    codice:
    CREATE PROCEDURE sp_Test 
    AS
    BEGIN
    	INSERT INTO myTabella VALUES ('valore1', 'valore2')
    	INSERT INTO myTabella VALUES ('valoreA', 'valoreB')
    	INSERT INTO myTabella VALUES ('valoreX', 'valoreZ')
    
    	-- Ritorna la select della tabella temporanea
    	Select * From myTabella;
    END
    Ora quando da codice asp incomincia a ciclare il recordset, che in teoria la store procedure dovrebbe ritornare, ottengo un errore (L'operazione non è consentita se l'oggetto è chiuso.)
    Infatti ottengo che
    conn.state= 1
    ma....
    rs.state= 0

    Per cui il problema sono le INSERT aggiunte nella store procedure...

    CHE FARE? E' NORMALE???
    Più PILU per tutti!!

  6. #16
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Scusa non puoi cambiare metodo, visto che così dà problemi?
    Cosa devi fare?
    A S P : tutto il resto è noia...
    L I N U X : forse mi "converto"...

  7. #17
    In che senso?

    La store procedure che ho realizzato mi permette in base a dei parametri di ricerca di elencare insieme di prezzi ordinati giornalmente.

    Ovviamente quello che fa la store procedure potrei farlo via asp, ma avrei certamente un decadimento delle prestazioni.

    La procedura presi in input la data di inizio, la data fine, il tipo di camera, il numero di posti e l'hotel di riferimento
    inzia un ciclo che giorno per giorno dalla data di inizio alla data fine:
    fa un confronto se le prenotazioni della camera di quel giorno non superino quelle richieste
    in caso affermativo controlla il prezzo più basso per quella camera
    inseririsce il prezzo così trovato nella tabella temporanea che mi sono creato
    e (in teoria) dovrebbe ritornarmi la tabella temporanea popolata (in caso di esito positivo della ricerca) dei prezzi trovati, in ogni riga della tabella ho un giorno con la lista dei suoi prezzi.

    Esempio:

    Data Da = '26/11/2005'
    Data A = '28/11/2005'
    TipoCamera = 1
    Hotel = 1045
    Posti = 1


    exec GetBestPrice '26/11/2005', '28/11/2005', 1, 1045, 1

    Mi ritorna correttamente (con il query analizer):
    codice:
    ID Data                    ImportoFB ImportoHB ImportoBB
    -- ----------------------- --------- --------- ---------
    0  2005-11-26 12:06:02.593 300.0000  200.0000  50.0000
    1  2005-11-27 12:06:02.593 300.0000  200.0000  50.0000
    2  2005-11-28 12:06:02.593 300.0000  200.0000  50.0000
    Questo e quello che via asp mi aspetterei come ritorno...
    Solo che non torna un cazzo!

    Scusate la parolaccia! Ma la cosa mi sta facendo impazzire.
    Credo fortemente che la store procedure sia la via giusta per avere il risultato che mi occorre, pensate a un ciclo in asp che parte dalla data X alla data X+n giorni, fatto giorno per giorno, che fa 4 o 5 chiamate al db per:
    - creare una tabella temporanea
    - fare la prima select per controllare la disponibilità
    - una seconda select per per determinare il prezzo migliore
    - una insert nel caso che venga trovato il prezzo
    - una terza select per elencare il dettaglio dei prezzi
    - in fine un drop della tabella temporanea

    Insomma se esistono delle store procedure perchè non utilizzarle?

    BOH?!?!
    Più PILU per tutti!!

  8. #18
    UP!
    Più PILU per tutti!!

  9. #19
    hai messo SET NOCOUNT ON ?

  10. #20
    no, cos'è?
    Più PILU per tutti!!

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.