Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    388

    lancio di più select contemporaneamente[vb.net]

    salve a tutti altro giorno altri problemi vorrei chiedervi
    come faccio a lanciare più select contemporaneamente?
    se non occorreva separarle da un ; e poi occorreva un comando ?
    qualcuno sa aiutarmi?


  2. #2
    se intendi piu' select da passare al datadapter per riempire piu' tabelle in in colpo solo basta separare le select con un ;
    es.
    dim m_dap as new sqldatadapter("select * from ordini; select * from prodotti", m_conn)
    Saluti a tutti
    Riccardo

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    388
    Purtroppo non mi funziona devo lanciare delle query come nel codice sottostante se stampo la query su SQlserver funziona ma se la provo nella pagina mi si ferma alla prima select qualcuno sa aiutarmi?
    non miriconosce mVal,mVal2
    -----------------------
    dbLocale = New SqlClient.SqlConnection("server=(Local);uid=sa;pwd =;Initial Catalog=Orione_BenchMarking;")
    cmTmp2 = New SqlClient.SqlCommand(sqlstr, dbLocale)
    sql="select * from tab1 "
    sql1="select avg(valori) as Mval from tab1 where valori >0"
    sql2="select avg(valori2)as Mval2 from tab1 where valori2 >0"
    sqlstr=sql & ";" & sql1 & ";" & sql2
    daTmp = New SqlClient.SqlDataAdapter
    cmTmp = New SqlClient.SqlCommand(sqlstr, dbLocale)
    Try
    dbLocale.Open()
    drTmp = cmTmp.ExecuteReader()
    drTmp.Read()
    nome= drTmp("nome")
    mVal= drTmp("mVal")
    mVal2= drTmp("mVa2")
    Catch objEx As Exception


    Finally
    drTmp.Close()
    dbLocale.Close()
    End Try
    -------------------------

  4. #4
    Originariamente inviato da burrett
    Purtroppo non mi funziona devo lanciare delle query come nel codice sottostante se stampo la query su SQlserver funziona ma se la provo nella pagina mi si ferma alla prima select qualcuno sa aiutarmi?
    nel mio post parlavo di dataadapter. Nel tuo codice un dataadapter c'e' ma dopo avergli dato la vita non lo usi. Puoi farne anche a meno. Nel caso vuoi usare appunto un datareader devi utilizzare il metodo nextresult del datareader che appunto finito di ciclare sul primo set di risultati passa al secondo e cosi via.
    Saluti a tutti
    Riccardo

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    388
    Salve a tutti scusate se rompo ma devo fini entro stasera e sono andato in pallone per una stronzata.

    con questa sub devo far risolvere piu query e poi assegnare i valori a della label
    però non mi riesce a d andare alla seconda query qualcuno sa spiegarmi l'errore?
    grazie!!!!!!!11

    '************************
    Private Sub prova(ByVal MinIndice, ByVal MaxIndice)
    Dim MInd(100) As String
    Dim campo As New Label
    Dim indice(100) As String
    InMin = MinIndice
    InMax = MaxIndice

    dbLocale = New SqlClient.SqlConnection("server=(Local);uid=sa;pwd =;Initial Catalog=Orione_BenchMarking;")
    cmTmp = New SqlClient.SqlCommand(sqlstr, dbLocale)
    For i = InMin To InMax
    sqlstr += "select "
    sqlstr += "AVG(indice" & (i) & ") as MInd" & (i)
    sqlstr += " FROM INDICIAZIENDA where indice" & i & " >0 and anno=" & anno & " and semestre=" & semestre & " and codice= '" & codice & "'"
    If i <> InMax Then sqlstr += ";"

    Next

    daTmp = New SqlClient.SqlDataAdapter
    cmTmp = New SqlClient.SqlCommand(sqlstr, dbLocale)
    Try
    dbLocale.Open()
    drTmp = cmTmp.ExecuteReader()
    drTmp.Read()
    For i = InMin To InMax
    Dim val As String = "MInd" & i
    MRat(i) = drTmp(val)
    drTmp.NextResult()
    Next

    Catch objEx As Exception

    Finally
    drTmp.Close()
    dbLocale.Close()

    End Try

    ....
    ...
    ...
    end sub

    '************************

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    388
    Ho risolto mancava il ciclo per il datareader posto il codice giusto per chi può essere utile.
    '*********
    Private Sub prova(ByVal MinIndice, ByVal MaxIndice)
    Dim MInd(100) As String
    Dim campo As New Label
    Dim indice(100) As String
    InMin = MinIndice
    InMax = MaxIndice

    dbLocale = New SqlClient.SqlConnection("server=(Local);uid=sa;pwd =;Initial Catalog=Orione_BenchMarking;")
    cmTmp = New SqlClient.SqlCommand(sqlstr, dbLocale)
    For i = InMin To InMax
    sqlstr += "select "
    sqlstr += "AVG(indice" & (i) & ") as MInd" & (i)
    sqlstr += " FROM INDICIAZIENDA where indice" & i & " >0 and anno=" & anno & " and semestre=" & semestre & " and codice= '" & codice & "'"
    If i <> InMax Then sqlstr += ";"

    Next

    daTmp = New SqlClient.SqlDataAdapter
    cmTmp = New SqlClient.SqlCommand(sqlstr, dbLocale)
    'Try
    dbLocale.Open()
    drTmp = cmTmp.ExecuteReader()
    For i = InMin To InMax
    drTmp.Read()
    Dim val As String = "MInd" & i
    'If i > 1 Then drTmp.NextResult()
    MInd(i) = convertDbl(drTmp(val))
    drTmp.NextResult()
    Next

    'Catch objEx As Exception

    'Finally
    drTmp.Close()
    dbLocale.Close()

    ' End Try
    '**********

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.