Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Eliminare voce da db
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • D
      djjunior User • 2 apr 2014, 16:28 ultima modifica di

      Eliminare voce da db

      Salve,
      come si fa ad eliminare una voce da campi db?

      Tipo:
      Campo NOME: franco, giovanni, nicola
      Campo FORMATO: 10, 12, 14
      Se voglio eliminare GIOVANNI e quindi il suo numero di riferimento cioè il 12 come posso fare?
      Grazie
      G.

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
        Caricamento altri post
        Rispondi
        • Topic risposta
        Effettua l'accesso per rispondere
        • Da Vecchi a Nuovi
        • Da Nuovi a Vecchi
        • Più Voti
         

      • A
        artcava Moderatore • 3 apr 2014, 12:21 ultima modifica di

        Ciao djjunior, direi che dipende dal db, il linguaggio che devi utilizzare è genericamente chiamato SQL, che però ha le sue declinazioni in funzione appunto del db.
        In generale funziona + o - così:

        DELETE FROM TABELLA WHERE FORMATO = 12
        

        Dove TABELLA è la tabella in cui sono contenuti i nomi, e FORMATO dovrebbe essere il campo univoco che identifica quel nome.

        Questo script poi lo devi far eseguire alla tua pagina attraverso un Provider in grado di colloquiare con il db, potrebbe essere ADO per i linguaggi come ASP oppure ADO.NET per ASP.NET o ancora LINQtoSQL o EntityFramework, ma per questa scelta bisognerebbe sapere anche quale piattaforma di sviluppo/linguaggio stai utilizzando...

        Sperando di non aver aggiunto confusione al tuo dubbio ti auguro un buon lavoro.

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • D
          djjunior User • 3 apr 2014, 15:29 ultima modifica di

          Ciao t ringrazio x la tua risposta ma io nn devo cancellare il valore di un campo db access ma cancellare una voce presente in un campo. In un campo denominato NOME ci possono essere + voci che andrebbero successivamente splittate. Quindi intendo cancellare x esempio la terza voce d un campo tipo:
          Campo:NOME
          Valore:PAOLO, ANNA, MARCO
          Campi:FORMATO
          Valore:12, 14, 16
          Ecco io dovrei eliminare per es: ANNA e il formato di rif cioè: 14.
          Ecco, come si fa?
          Grazie
          G.

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • A
            artcava Moderatore • 3 apr 2014, 16:15 ultima modifica di

            Scusa ma mi sono perso...

            Non stiamo parlando di un db ma di un testo? La provenienza di questo testo non è quindi oggetto della domanda?

            Allora il testo che hai a disposizione è contenuto in una variabile che si chiama NOME, visto che il contenuto è separato da virgola (,) puoi fare una split del testo ottenendo così un array, rimuovere l'elemento interessato, tenendo presente che l'array ha base 0 normalmente, ed infine eseguire una join dei valori restanti nella variabile di partenza o altra variabile dichiarata all'occorrenza...

            E' questo che devi fare?

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • D
              djjunior User • 3 apr 2014, 16:56 ultima modifica di

              Si si è questo quello che devo fare! Pero il testo da eliminare può variare, diciamo che lo recupero da una request.querystring e devo cancellare contemporaneamente da 2 campi allo stesso punto. Tipo la terza voce separata da virgola!
              Grazie

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • A
                artcava Moderatore • 3 apr 2014, 20:50 ultima modifica di

                Allora ti consiglio di usare la Split, funzione descritta in questa pagina: Split
                Mentre scorri l'array ricostruisci il testo aggiungendo la virgola (,) e conti le ricorsioni, quando arrivi alla terza la salti e prosegui con il resto.

                Lo stesso fai con l'altro parametro. Magari puoi costruire una funzione che lo fa prendendo in carico il parametro da scorrere e l'indice da saltare.

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • D
                  djjunior User • 3 apr 2014, 21:09 ultima modifica di

                  Grazie. Potresti farmi un esempio pratico? Non saprei come partire. Grazie

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • A
                    artcava Moderatore • 3 apr 2014, 21:48 ultima modifica di

                    Dovrebbe essere qualcosa di simile

                    
                    Function DeleteFromArray(text,index)
                    Dim r As String
                    Dim i As Int[INDENT]a=Split(text, ",")
                    i=0
                    for each x in a
                    [/INDENT]
                    [INDENT=2]If i <> index Then[/INDENT]
                    [INDENT=3]r = r & x & ","
                    [/INDENT]
                    [INDENT=2]End If
                    i = i + 1[/INDENT]
                    [INDENT]next
                    DeleteFromArray = r[/INDENT]
                    End Function
                    
                    

                    Non ho controllato la sintassi, vbScript non lo uso più da anni :bho: e non me lo ricordo più, faccio anche un po' confusione con VB

                    Spero possa aiutarti comunque

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • D
                      djjunior User • 4 apr 2014, 09:28 ultima modifica di

                      Grazie lo proverò anche sono ho capito bene come posso eliminare da 2 o più campi contemporaneamente il valore (diciamo il terzo per esempio) e implementarlo al mio db access. Grazie e scusami ma non mi + chiara proprio questa parte.
                      G.

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • D
                        djjunior User • 6 apr 2014, 22:39 ultima modifica di

                        Nessun aiuto?

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • A
                          artcava Moderatore • 7 apr 2014, 07:47 ultima modifica di

                          Scusa ma non ti seguo nuovamente, i dati arrivano dal DB o dal QueryString? Se arrivano dal DB come mai hai elementi separati da virgola?

                          Comunque per eseguire l'operazione di cancellazione dell'elemento dall'elenco devi "chiamare" due volte DeleteFromArray passando prima i nomi e l'indice da eliminare e subito dopo i numeri e l'indice, indice che dovrà essere lo stesso di prima...

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • D
                            djjunior User • 7 apr 2014, 08:16 ultima modifica di

                            Allora i dati arrivano dal querystring e devo cancellarli dal db. Grazie

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • A
                              artcava Moderatore • 7 apr 2014, 09:35 ultima modifica di

                              Continua a non essermi chiaro, che relazione c'è tra i dati del QueryString e quelli nel DB, come fai ad essere sicuro che il dato in una determinata posizione corrisponda a quella del DB?

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • D
                                djjunior User • 7 apr 2014, 09:50 ultima modifica di

                                La relazione che cè è il NOME che è univoco pertanto recuperando dal querystring il NOME di conseguenza in base alla posizione del nome si trova la posizione del formato! Ed effettuare la cancellazione d entrambi!

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • A
                                  artcava Moderatore • 7 apr 2014, 10:15 ultima modifica di

                                  Quindi fammi capire se ho capito:

                                  Nel QueryString hai un elenco di nomi separato da virgola!
                                  Sai anche in quale posizione si trova il nome da eliminare, ma non qual'è e devi quindi trovarlo!

                                  Ecco come:

                                  
                                  Function SearchFromArray(text,index)
                                  Dim i As Int
                                  [INDENT]a=Split(text, ",")[/INDENT]
                                  [INDENT]i=0[/INDENT]
                                  [INDENT]for each x in a[/INDENT]
                                  [INDENT=2]If i = index Then[/INDENT]
                                  [INDENT=3]SearchFromArray = x[/INDENT]
                                  [INDENT=2]End If[/INDENT]
                                  [INDENT=2]i = i + 1[/INDENT]
                                  [INDENT]next[/INDENT]
                                  End Function
                                  
                                  

                                  Con la stessa funzione puoi anche trovare il FORMATO, passando il testo contenente i formati separati da virgola.

                                  A questo punto però devi eliminarli dal DB e per questo devi utilizzare SQL come nella mia prima risposta...

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • D
                                    djjunior User • 7 apr 2014, 15:09 ultima modifica di

                                    In pratica ricevo un solo valore, dovrei fare tipo così per cancellare i 2 valori presenti alla stessa posizione nel campo db, non mi è chiaro questo passaggio:

                                    
                                    **nome = request.querystring("file")
                                    formato = request.querystring("formato")
                                    
                                    Function SearchFromArray(nome,index)
                                    Dim i As Int
                                    a=Split(nome, ",")
                                    i=0
                                    for each x in a
                                    If i = index Then
                                    SearchFromArray = x
                                    End If
                                    i = i + 1
                                    next
                                    End Function
                                    ****
                                    Function SearchFromArray(formato,index)
                                    Dim i As Int
                                    a=Split(formato, ",")
                                    i=0
                                    for each x in a
                                    If i = index Then
                                    SearchFromArray = x
                                    End If
                                    i = i + 1
                                    next
                                    End Function**
                                    
                                    

                                    Poi come faccio ad eliminarlo dalla query sql?
                                    Ho db access?
                                    Grazie 1000 per l'aiuto che mi stai dando.
                                    G.

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • D
                                      djjunior User • 8 apr 2014, 08:47 ultima modifica di

                                      Ho provato a fare questo!

                                      
                                      nome = request.querystring("file")
                                      
                                      function SearchFromArray(nome,index)
                                      
                                      a=Split(nome, ",")
                                      i=0
                                      for each x in a
                                      If i = index Then
                                      SearchFromArray = x
                                      End If
                                      i = i + 1
                                      
                                      sql = "DELETE * FROM ordini WHERE foto = " & x(i)
                                      Set rs = Server.CreateObject("ADODB.Recordset")
                                      rs.Open sql, conn, 3, 3
                                      
                                      next
                                      End Function
                                      
                                      
                                      

                                      Almeno per eliminare un solo valore, ma io devo eliminare + valori collegati tra loro (il NOME e il FORMATO di riferimento)
                                      Ma non elimina nulla.
                                      Dove sbaglio?
                                      Aiutatemi, grazie
                                      G.

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • D
                                        djjunior User • 9 apr 2014, 13:55 ultima modifica di

                                        Nessun aiuto???

                                        0 Miglior Risposta Ringrazia Cita Rispondi

                                          1 Risposta Ultima Risposta
                                        Caricamento altri post
                                        Rispondi
                                        • Topic risposta
                                        Effettua l'accesso per rispondere
                                        • Da Vecchi a Nuovi
                                        • Da Nuovi a Vecchi
                                        • Più Voti