Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 32

Discussione: SQL statment While

  1. #1

    SQL statment While

    salve a tutti,

    ho questa iterazione in C#:

    while (MyReader.Read())
    {
    string var1 = MyReader["colonna1"].ToString();
    string var2 = MyReader["colonna2"].ToString();

    " qui cè un istruzione che esegue uno statment select in base ai parametri var1 e var2, non lho inserita x semplificare le cose"
    }


    praticamente ogni riga del MyReader contiene dei dati che mi servono per fare un select che cambia in base ai dati stessi. Il Myreader a suo volta è stato costruito tramite un select.

    Io vorrei fare la stessa cosa tramite una SP, cioè fare un determinato select e salvare la tabella risultante in una variabile, successivamente iterare x ogni riga della tabella (come esempio precedente) e fare a sua volta un select x ogni riga. Quindi il risultato finale sarebbe avere restituite tante tabelle quante le righe del primo select.

    penso che sia possibile farlo con While, ma ho provato a seguire qualche esempio sull'Msdn ma non è molto esplicativo, avete degli esempi o soluzioni in merito?

  2. #2
    fammi capire. tu vorresti fare (ad esempio)

    SELECT IDCliente FROM Clienti

    e poi per ogni IDCliente fare

    SELECT * FROM Fatture WHERE IDCliente=IDCliente (dalla select sopra)

    giusto?

    domande:
    1. perché non vai di JOIN?
    2. perché vuoi come risultato n tabelle invece di un'unica tabella?

  3. #3
    Grazie ma per il momento ho risolto in un altra maniera.

    Posso evitare di utilizzare il cursore...

  4. #4
    Originariamente inviato da andrestu
    Grazie ma per il momento ho risolto in un altra maniera.

    Posso evitare di utilizzare il cursore...
    come hai risolto?

  5. #5
    diciamo che mi serviva il cursore per iterare su una tabella e in base ai risultati fare un select x ogni riga della tabella, ovviamente il select fatto x ogni riga era diverso in base ai dati contenuti nella riga stessa.

    Questo lo volevo fare x evitare l'operazione di iterazione da programma e quindi l'invio di più select sempre da programma, ma alla fine ho deciso di lasciare le cose così ed evitare di sovraccaricare il Server Sql e lasciare questo compito ad Aspnet

  6. #6
    ok. ma secondo me il server sql lo carichi lo stesso - anzi, forse di più - , chiamandolo n volte invece di una volta sola

  7. #7
    ma era proprio questo che volevo capire, ma secondo pareri da persone competenti a riguardo mi sconsigliano ove possibile di far fare iterazioni simili al Server Sql e lasciarle fare dal programma che è più "adatto" ad iterare...

  8. #8
    parlo di grandi numeri di operazioni

  9. #9
    certo, se usi una tecnica obsoleta come quella dei cursori, sql fa fatica. ci sono metodologie più moderne e meno pesanti. e comunque, il lavoro sui dati è sempre meglio farlo fare agli strumenti ideati per lavorare con i dati.

    parlo di grandi numeri di operazioni quante operazioni? "grandi numeri" è soggetto a interpretazioni personali...

  10. #10
    scusa ma come potrei risolvere la cosa facendo fare il lavoro da Sql senza sovraccaricarlo(in caso di molte operazioni multiple)

    cioè praticamente devo prelevare dati da una tabella e fare un select diverso x ogni riga di questa tabella. non so se mi son spiegato
    i dati di questa tabella mi servono come parametri x i successivi select (uno x ogni riga)

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.