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

    Pagina asp che non si aggiorna bene

    Salve a tutti,
    ho un problemino che non capisco bene neanche io:

    da una pagina listino al click dell'utente su un oggetto vado su un'altra pagina dove nell'ordine:

    -verifica la presenza di una tabella [sessionId] e se non c'è la crea
    -verifica l'esistenza dell'oggetto in quella tabella e se c'è ne aumenta la quantità di uno altrimenti lo aggiunge ex novo con quantità 1
    -esegue un recordset su tutti gli oggetti della tabella [sessionId] ed inizia l'output a video.

    Benchè questa sia la cronologia delle operazioni e nel db appaia l'aggiornamento fatto, il primo valore inserito non ne vuole sapere di farsi vedere dal recordset.
    Dov'è l'inghippo?
    Particamente mi rimane indietro di un passaggio

    Per la visualizzazione uso un'area ripetuta do dreamweaver MX che mi funzia con tutti gli altri recordset. Ah uso Access come db

    Grazie
    Two Beer or not Two Beer
    that is the question

    W. ShakesBEER

  2. #2
    Probabilmente crea tutto, tranne che il record!
    Sul db che dati leggi?

  3. #3
    nel db i dati li vedo, crea la tabella e la popola correttamente....
    Two Beer or not Two Beer
    that is the question

    W. ShakesBEER

  4. #4
    Non c'è proprio nessuno che mi sappia dire cosa sbaglio.....non voglio dover fare un reload della pagina per vedere qualcosa....e poi facendo così mi aggiunge nel db un'altro oggetto
    Two Beer or not Two Beer
    that is the question

    W. ShakesBEER

  5. #5
    Se e' presente deve pure estrarlo.

    Non e' che sbagli la struttura della pagina e prima estrai e poi aggiorni?

  6. #6
    Per me la struttura è corretta:

    codice:
    <%
    on error resume next
    Dim quanti
    quanti = 1
    Dim Modello
    Modello = request.QueryString("Model")
    Dim InsModello
    Dim comandoInsModello
    'verifico se esiste già la tabella altrimenti la aggiungo 
    Dim RsVerificoTabella
    Set RsVerificoTabella = Server.CreateObject("ADODB.Recordset")
    RsVerificoTabella.ActiveConnection = MM_Connetti_STRING
    RsVerificoTabella.source = "SELECT * FROM " & Session.SessionID & ""
    RsVerificoTabella.Open()
    
    if (RsVerificoTabella.BOF <> true) and (RsVerificoTabella.Eof <> true) then 
    Dim creatab
    Dim comandocreatab
    Set creatab = Server.CreateObject("ADODB.Command")
    creatab.ActiveConnection = MM_Connetti_STRING
    comandocreatab = "CREATE TABLE [" & session.SessionID &"] (Model Text(7), Quantity Integer)"
    creatab.CommandText = comandocreatab
    creatab.execute
    'creatab.close
    else
    end if
    %>
    
    <%
    'verifico se esiste già il modello altrimenti lo aggiungo 
    Dim RsVerificoModello
    Set RsVerificoModello = Server.CreateObject("ADODB.Recordset")
    RsVerificoModello.ActiveConnection = MM_Connetti_STRING
    RsVerificoModello.source = "SELECT * FROM " & Session.SessionID & " WHERE Model ='" & Modello & "'"
    RsVerificoModello.Open()
    
    Dim insvalore
    Dim comandoinsvalore
     
    if (RsVerificoModello.BOF <> true) and (RsVerificoModello.Eof <> true) then 
    quanti = ((RsVerificoModello.Fields.Item("Quantity").Value) + 1)
    Set insvalore = Server.CreateObject("ADODB.Command")
    insvalore.ActiveConnection = MM_Connetti_STRING
    comandoinsvalore = "UPDATE " & session.SessionID & " SET Quantity =" & quanti & " WHERE Model = '" & Modello & "'"
    insvalore.CommandText = comandoinsvalore
    insvalore.execute
    insvalore.close
    else
    Set insvalore = Server.CreateObject("ADODB.Command")
    insvalore.ActiveConnection = MM_Connetti_STRING
    comandoinsvalore = "INSERT INTO [" & session.SessionID &"] (Model,Quantity) VALUES ('" & Modello & "', '" & quanti & "')"
    insvalore.CommandText = comandoinsvalore
    insvalore.execute
    insvalore.close
    end if
    %>
    
    <%
    RsVerificoModello.Close()
    Set RsVerificoModello = Nothing
    %>
    ora i valori sono inseriti e procedo con l'output a video:

    codice:
    <%
    'Leggo dalla tabella SessionId 
    Dim RsTabellaTemporanea
    Dim RsTabellaTemporanea_numRows
    Set RsTabellaTemporanea = Server.CreateObject("ADODB.Recordset")
    RsTabellaTemporanea.ActiveConnection = MM_Connetti_STRING
    RsTabellaTemporanea.Source = "SELECT * FROM " & Session.SessionID & ""
    RsTabellaTemporanea.Open()
    RsTabellaTemporanea_numRows = 0
    %>
    <%
    Dim Repeat1__numRows
    Dim Repeat1__index
    
    Repeat1__numRows = -1
    Repeat1__index = 0
    RsTabellaTemporanea_numRows = RsTabellaTemporanea_numRows + Repeat1__numRows
    %>
      <% 
    While ((Repeat1__numRows <> 0) AND (NOT RsTabellaTemporanea.EOF)) 
    %>
    <%=(RsTabellaTemporanea.Fields.Item("Model").Value)%>
    <%=(RsTabellaTemporanea.Fields.Item("Quantity").Value)%>
      <% 
      Repeat1__index=Repeat1__index+1
      Repeat1__numRows=Repeat1__numRows-1
      RsTabellaTemporanea.MoveNext()
    Wend
    %>

    perchè non va?????????
    Two Beer or not Two Beer
    that is the question

    W. ShakesBEER

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.