Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Aggiornare DB

  1. #1
    Utente di HTML.it L'avatar di ertuio
    Registrato dal
    Jun 2010
    Messaggi
    17

    Aggiornare DB

    Ciao a tutti.

    Vorrei qualche delucidazione su come affrontare queste istruzioni.
    Ho qualche difficoltà ad aggiornare database senza ritrovarmi in qualche problema.
    Se qualcuno è disposto a darmi una mano gliene sarei molto grato. IN JScript

    Grazie


    Il pulsante DEPOSITA permette di depositare sul conto dell’utente una cifra specificata tramite un campo di
    testo presente affianco al pulsante. Il valore di una singola operazione di deposito non pu`o essere superiore
    a 100 Euro ed il suo corretto svolgimento deve essere confermato tramite un’apposita pagina che riassume
    l’operazione svolta (valore precedente, somma depositata, nuovo valore risultante).
    Tutto il sito fa riferimento ad un DB in formato MS-ACCESS (payments.mdb) contenente le seguenti tabelle.
    La tabella “users” contiene i record degli utenti registrati ed `e organizzata su quattro campi:
    - il campo “user id” `e l’identificativo numerico di un utente ed `e la chiave primaria;
    - il campo “nick” `e il nickname dell’utente;
    - il campo “deposit” `e il valore totale (in Euro) disponibile per l’utente;
    - il campo “type” indica se l’utente `e normale (N) o privilegiato (P).
    La tabella “operations” contiene i record delle operazioni svolte:
    - il campo “oper id” `e l’identificativo numerico di un’operazione ed `e la chiave primaria;
    - il campo “src” indica l’autore del pagamento (il suo user id);
    - il campo “dst” indica il destinatario del pagamento (il suo user id);
    - il campo “amount” indica l’importo del pagamento (in Euro).
    Si noti che un’operazione di deposito viene registrata come effettuata da un utente fittizio denominato “cash”
    che `e sempre predefinito nel DB.

  2. #2
    Utente di HTML.it L'avatar di ertuio
    Registrato dal
    Jun 2010
    Messaggi
    17

    Da sessione

    con queste istruzioni modifico tutti gli user del database.
    Praticamente verso sul conto di tutti, invece che all'utente con cui ho autenticato la sessione (divisibile in due sessioni: normale o privilegiato).
    E tra l'altro l'operazione sembra moltiplicativa... Almeno mi modifica stranamente il conto, aggiungendo cifre pazzesche.

    if (Session("usernameprivilegiato")==null & Session("usernamenormale")==null ){
    Response.write("<p class='testo'>Nessun accesso autenticato, effettuare log in. Oppure la sessione e&acute scaduta</p>");
    }
    else
    {
    var ut;
    var dep=Request.QueryString("deposito");
    if (Session("usernameprivilegiato")==null)
    {
    var ut=Session("usernamenormale");
    }
    else
    {
    var ut=Session("usernameprivilegiato");
    }
    var con;
    var sConString;
    var sSQLStringP;
    var sSQLStringN;
    var rst;
    con = Server.CreateObject("ADODB.Connection");
    sConString = "Provider = Microsoft.Jet.OLEDB.4.0; " + "Data Source = " + Server.MapPath("./payments.mdb");
    con.Mode=3; //3 = adModeReadWrite ;
    con.Open(sConString);
    sSQLString ="SELECT * from users where nick = '"+ut+"' ";
    rst = Server.CreateObject("ADODB.Recordset");
    rst = con.Execute(sSQLString);
    if (!rst.EOF) {
    var qtaOld;
    var qtaNew;
    qtaOld = rst("deposit")
    qtaNew = (rst("deposit") + dep);
    sSQLString = "UPDATE users SET deposit="+qtaNew+";";
    con.Execute(sSQLString);
    rst.Close();
    con.Close();
    rst = null;
    con = null;
    Response.Write("<p class='test'> Vecchio conto:"+qtaOld+"
    Valore Depositato:"+dep+"
    Nuovo Conto:"+qtaNew+" </p>");
    }
    else
    {
    response.write("<p class='testo'> Errore da definire </p>");

    }
    }

  3. #3

    Re: Da sessione

    ...
    var dep=Request.QueryString("deposito"); --> dep è una stringa
    ....
    sSQLString = "UPDATE users SET deposit="+qtaNew+" where nick='"+ut+'";";
    ...
    così dovrebbe aggiornare solo l'utente richiesto

  4. #4
    Utente di HTML.it L'avatar di ertuio
    Registrato dal
    Jun 2010
    Messaggi
    17

    grazie

    mille

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.