Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
MySqlDataReader
mercoledì 03 agosto 2011 - 22.09
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 3.5
|
Windows 7
|
MySQL 5.1
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
mer 3 ago 2011 - 22:09
Ciao al forum,
da giorni che impazzisco per un errore nel mio MySqlDataReader in pratica dice che il DataReader deve essere chiuso, il datareader è chiuso credo sia un problema di MySQL non so più cosa fare.
Grazie in anticipo
Mau67
Gho5t
Profilo
| Junior Member
155
messaggi | Data Invio:
gio 4 ago 2011 - 09:44
potresti postare il codice che utilizzi così da cercare di capire se c'è un'errore o se è un bug?
Se un uomo non è disposto a correre qualche rischio per le sue idee, o le sue idee non valgono nulla o non vale nulla lui
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
gio 4 ago 2011 - 13:43
Ecco il codice
Dim myCommand = New MySqlCommand("SELECT AttoOperativa.ID," & _
"Sum(If(Servizi.Tipo='UM',Servizi.Anni,0)) AS Aum," & _
"Sum(If(Servizi.Tipo='UM',Servizi.Mesi,0)) AS Mum," & _
"Sum(If(Servizi.Tipo='UM',Servizi.Giorni,0)) AS Gum," & _
"Sum(If(Servizi.Tipo='CA',Servizi.Anni,0)) AS Aca," & _
"Sum(If(Servizi.Tipo='CA',Servizi.Mesi,0)) AS Mca," & _
"Sum(If(Servizi.Tipo='CA',Servizi.Giorni,0)) AS Gca," & _
"Sum(If(Servizi.Tipo='EC',Servizi.Anni,0)) AS Aec," & _
"Sum(If(Servizi.Tipo='EC',Servizi.Mesi,0)) AS Mec," & _
"Sum(If(Servizi.Tipo='EC',Servizi.Giorni,0)) AS Gec," & _
"Sum(If(Servizi.Tipo='SU',Servizi.Anni,0)) AS Asu," & _
"Sum(If(Servizi.Tipo='SU',Servizi.Mesi,0)) AS Msu," & _
"Sum(If(Servizi.Tipo='SU',Servizi.Giorni,0)) AS Gsu," & _
"Sum(If(Servizi.Tipo='TA',Servizi.Anni,0)) AS Ata," & _
"Sum(If(Servizi.Tipo='TA',Servizi.Mesi,0)) AS Mta," & _
"Sum(If(Servizi.Tipo='TA',Servizi.Giorni,0)) AS Gta," & _
"Sum(If(Servizi.Tipo='FA',Servizi.Anni,0)) AS Afa," & _
"Sum(If(Servizi.Tipo='FA',Servizi.Mesi,0)) AS Mfa," & _
"Sum(If(Servizi.Tipo='FA',Servizi.Giorni,0)) AS Gfa," & _
"Sum(If(Servizi.Tipo='PA',Servizi.Anni,0)) AS Apa," & _
"Sum(If(Servizi.Tipo='PA',Servizi.Mesi,0)) AS Mpa," & _
"Sum(If(Servizi.Tipo='PA',Servizi.Giorni,0)) AS Gpa" & _
" FROM AttoOperativa INNER JOIN Servizi ON AttoOperativa.IDAnagrafica = Servizi.IDAnagrafica" & _
" WHERE ((Servizi.Al)<='" & ConvertData.GetDataForMySql(id.SubItems(1).Text) & "')And ((Servizi.IDAnagrafica)='" & TextBox31.Text & "') And ((AttoOperativa.ID)='" & id.Text & "')" & _
" GROUP BY AttoOperativa.ID", Connection)
Dim dr As MySqlDataReader = myCommand.ExecuteReader
While dr.Read()
Dim gg As Integer = dr.GetInt32(12)
Dim mm As Integer = dr.GetInt32(11)
Dim aa As Integer = dr.GetInt32(10)
Dim AnniSu As Integer = aa
Dim MesiSu As Integer = mm
Dim GiorniSu As Integer = gg
CalculateTime(gg, mm, aa)
gg = dr.GetInt32(6)
mm = dr.GetInt32(5)
aa = dr.GetInt32(4)
Dim AnniCa As Integer = aa
Dim MesiCa As Integer = mm
Dim GiorniCa As Integer = gg
CalculateTime(gg, mm, aa)
strSQL = "SELECT AttoOperativa.ID, " & AnniCa & " AS Aca, " & MesiCa & " AS Mca, " & GiorniCa & " AS Gca," & _
"" & AnniSu & " AS Asu, " & MesiSu & " AS Msu, " & GiorniSu & " AS Gsu" & _
" FROM AttoOperativa INNER JOIN Servizi ON AttoOperativa.IDAnagrafica = Servizi.IDAnagrafica where AttoOperativa.IDAnagrafica = '" & m_ParametroCodiceFiscale & "' AND AttoOperativa.ID ='" & id.Text & "'And Servizi.Dal <= '" & ConvertData.GetDataForMySql(id.SubItems(1).Text) & "' GROUP BY AttoOperativa.ID"
daT1 = New MySqlDataAdapter(strSQL, Connection)
daT1.Fill(dtsAtto, "Totali")
End While
dr.Close()
Next
Mau67
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 4 ago 2011 - 14:23
>Ecco il codice
Ciao, puoi postare anche l'errore e la riga dove si verifica andando in debug?
Grazie
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
gio 4 ago 2011 - 14:25
Ciao Ecco l'errore
daT1 = New MySqlDataAdapter(strSQL, Connection)
daT1.Fill(dtsAtto, "Totali") <<<<<<<<<<<<<<<<<<<<<<<<QUI mi da il problema "There is already an open DataReader associated with this Connection which must be closed first."
non so più cosa fare non c'è ne sono datareader aperti
Mau67
Gho5t
Profilo
| Junior Member
155
messaggi | Data Invio:
ven 5 ago 2011 - 00:34
Il problema dovrebbe dipendere dal fatto che tu utilizzi la stessa MysqlConnection ("Connection") sia per il DataReader ("dr") sia per MySqlDataAdapter ("daT1")... prova ad usare due MysqlConnection diverse e dovrebbe funzionare...
Se un uomo non è disposto a correre qualche rischio per le sue idee, o le sue idee non valgono nulla o non vale nulla lui
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 5 ago 2011 - 10:33
>Il problema dovrebbe dipendere dal fatto che tu utilizzi la stessa
>MysqlConnection ("Connection") sia per il DataReader ("dr") sia
>per MySqlDataAdapter ("daT1")... prova ad usare due MysqlConnection
>diverse e dovrebbe funzionare...
Sì, credo sia quello, però cerca di usare le Using, così come descritto verso la fine di questo post:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=38489
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
marco.morgia
Profilo
| Junior Member
73
messaggi | Data Invio:
gio 25 ago 2011 - 10:09
Ciao,
se ancora non hai risolto prova a farlo chiudere in automatico dall'applicazione il DataReader.
Premetto che programmo in C#, ma penso che il comando sia identico
MySqlDataReader reader = command.ExecuteReader(System.Data.CommandBehavior.CloseConnecetion);
command ovviamente è la tua query mySql
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !