Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    173

    vb.net query

    devo scrivere una query in cui vengono selezionati dei record domanda in base ad una selezione di argomenti in una listbox
    mi potete aiutare?

    Grazie in anticipo
    massimiliano

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    173
    devo creare un programma che mi permetta di creare n questionari diversi formati da m domande diverse tra loro. Le domande possono anche comparire in più questionari.
    Per scegliere le domande la query deve considerare solo gli argomenti selezionati nella listbox argomenti.

    Grazie
    Massimiliano

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Rilancio la domanda che è già stata posta: cosa ti serve?

    Per il momento, hai scritto solo cosa stai cercando di fare, poi chiedi una mano... a fare cosa, nello specifico?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    173
    non so scrivere la query

    Grazie
    Ciao
    Massimiliano

  6. #6

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    173
    non è la select in se

    select testodomanda from domande where idargo=

    da qui in poi come indico di guardare la listbox?

    Ancora Grazie
    Massimiliano

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Devi usare un ciclo For/Each per concatenare gli elementi del listbox

    la concatenazione puoi farla in OR
    WHERE idargo = item1 OR idargo = item2 OR idargo = item3

    oppure con l'operatore IN
    WHERE idargo IN (item1, item2, item3, ...)

    Ad esempio, supponiamo che gli elementi del ListBox siano numeri (ID) allora puoi creare la stringa da passare all'operatore IN in questo modo:

    codice:
        Dim sIN As String = ""
        For Each item In ListBox1.Items
            sIN &= "," & item.ToString
        Next
        sIN = "(" & sIN.Substring(1) & ")"
        MessageBox.Show(sIN, "Stringa da passare all'operatore IN", MessageBoxButtons.OK)
    e potrai utilizzarla come condizione

    codice:
        SELECT testodomanda
        FROM domande
        WHERE idargo IN & sIN
    Se il campo idargo è di tipo testo , allora i valori vanno racchiusi tra apici singoli, così:

    WHERE idargo IN ('item1','item2','item3',...)

    Per cui dovrai modificare il ciclo sopra indicato in conformità.



  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    173
    Ciao

    Ho copiato il primo codice per prova
    attivando la procedura descritta cliccando su un button dopo aver selezionato nella listbox
    mi appare nella msgbox

    il seguente errore

    system.data.datarowview,system.data.datarowview,sy stem.data.datarowview

    probabilmente perché nel db di prova ho solo tre record
    Non dovrei vedere il nome degli argomenti selezionati?

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    173
    manca un pezzo per un errore di mouse

    nelle where come indico solo gli item selezionati e non tutti?

    Grazie
    Massimiliano

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.