Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    17

    problema connessione per sql dentro ciclo

    dim objconn as new OleDbConnection("Provider=OraOLEDB.Oracle; Data Source=orcl;User Id=sal4net;Password=sal4net;")

    dim offerta as string="1"

    dim sql_nr_tab as string="select distinct ID_TAB from PROD_OFFERTE WHERE ID_OFFERTA='" & id_offerta & "'"

    dim objcmd_nr_tabss as new oledbcommand(sql_nr_tab, objconn)
    dim objreader_nr_tabbba as OledbdataReader
    try
    objreader_nr_tabbba=objcmd_nr_tabss.executeReader
    catch
    end try



    Dim distinct_id_tab As Integer = objreader_nr_tabbba.GetOrdinal("ID_TAB")
    dim nr_tabbbbeeee as string="0"
    do while objreader_nr_tabbba.read
    nr_tabbbbeeee = objreader_nr_tabbba.getvalue(distinct_id_tab)

    dim sql_prod_offerte as string="select * from PROD_OFFERTE WHERE ID_OFFERTA='" & id_offerta & "' and NOT(PADRE IS NULL ) and id_tab=" & nr_tabbbbeeee & " order by ordine"

    dim objcmd_padri as new oledbcommand(sql_prod_offerte, objconn)
    dim objreader_padri as OledbdataReader


    Objreader_padri=objcmd_padri.executeReader <--------MI DA ERRORE

    LOOP
    ___________________________

    Usando una sola connessione non riesco ad eseguire l'istruzione sql che si trova dentro il ciclo do while. Come posso fare?
    Per favore potete rispondermi? Grazie

  2. #2
    Non è che posteresti l'errore che ti da?

  3. #3
    bbrrr... cmq codice a parte, perche' non usi una unica query?
    Saluti a tutti
    Riccardo

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    17
    L'errore che mi da'è il seguente: There is already an open Dataread associated with this connection which must be closed first.

    Please rispondetemi, sono agli inizi. Grazieeeeee

  5. #5
    L'errore parla da solo.
    hai già usato un reader su quella connessione e devi prima chiuderlo.

    Insomma ti sta dicendo di chiudere objreader_nr_tabbba
    prima di aprire un nuovo reader su quella connessione.
    Il casino è che tu quel reader lo stai usando per ciclare
    e' quindi evidente che devi cambiare qualcosa nella tua logica di programmazione

    PS come scrivi il codice non si capisce una mazza, dovresti almeno indentare le righe

  6. #6
    Originariamente inviato da stoy
    L'errore che mi da'è il seguente: There is already an open Dataread associated with this connection which must be closed first.

    Please rispondetemi, sono agli inizi. Grazieeeeee
    Ho dato un occhiata veloce alle query che hai scritto, il tuo problema lo risolvi
    costruendo una query più specifica, anche se non mi sembra molto logico quello
    che stai facendo, potresti spiegare cosa vorresti ottenere?

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.