424 messaggi dal 25 marzo 2005
Salve !
Devo leggere du tabelle tenendo aperta la conessione.
Sto eseguendo il seguente codice per una normale la lettura di dati in SQL Server :

Dim ConnDBPres = connetti_dbPres()

conn = New OleDb.OleDbConnection(ConnDBPres)

Dim mycommandGBL As New OleDb.OleDbCommand(vSelect, conn)
Dim readSelGBL As OleDb.OleDbDataReader
Try
conn.Open()
readSelGBL = mycommandGBL.ExecuteReader()

Do While readSelGBL.Read()
test_limite(codspese, codcaus)
Loop
readSelGBL.Close()
Catch err As Exception
lblmsgcalc.Text = " Errore lettura in Tabella TMOVSPESE !"
lblmsgcalc.Text &= err.Message
Finally
If (Not conn Is Nothing) Then
conn.Close()
End If
End Try

mycommandGBL.Connection.Close()

- nel ciclo di lettura Do While readSelGBL.Read() chiamo la funzione : test_limite per eseguire la lettura su altra tabella :

vselect = "Select * from Tab2 ..."

Dim mycommand As New OleDb.OleDbCommand(vselect, conn)
Dim readSel2 As OleDb.OleDbDataReader
Try
' conn.Open()
readSel2 = mycommand.ExecuteReader()
Do While readSel2.Read() ' Se gestisco il limite
... = readSel2("FlagGestLim") Loop
readSel2.Close()
Catch err As Exception
lblmsgcalc.Text = " Errore lettura .."
lblmsgcalc.Text &= err.Message
Finally

End Try


- Mi da errore su readSel2 = mycommand.ExecuteReader() in quanto mi dice che è già aperto e deve essere prima chiuso;
Tenendo conto di questo codice, dove sbaglio e come dovrei fare ?
Grazie
Modificato da Mirco65 il 29 aprile 2005 12.41 -
52 messaggi dal 16 dicembre 2004
potresti crearti un altro oggetto command, da usare per la seconda query non è il massimo dalla gestione delle risorse, ma semplice e veloce.
424 messaggi dal 25 marzo 2005
Barabas ha scritto:
potresti crearti un altro oggetto command, da usare per la seconda query non è il massimo dalla gestione delle risorse, ma semplice e veloce.



Per esempio come ??
52 messaggi dal 16 dicembre 2004
pensavo che avessi usato lo stesso oggetto comando per le due query, invece sono diversi, però usano la stessa connessione? forse basta creare un'altra connessione e passarla a "Dim mycommand As New OleDb.OleDbCommand(vselect, conn) ", oppure prova chiudere la connessione prima di entrare nel ciclo.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.