PDA

View Full Version : [VB .NET] eliminazione tabella


deviato
16-03-2010, 15:01
Salve ho un problema.
Accedo ad un database access e dopo la lettura non riesco a fare il drop table poichè mi dice che non può bloccare la tabella perchè in uso da un altro utente o processo.
Vi posto il codice:


Cn.Open
......
For i = 0 To 9
cmd = New OleDbCommand("SELECT ......." , Cn)
Dr = cmd.ExecuteReader
Dr.Read()
......
Next
Dr.Close()
cmd = New OleDbCommand("DROP TABLE .....", Cn)
cmd.ExecuteNonQuery()
Cn.Close


Arriva all'istruzione sottolineata e mi da errore. Qualcuno può aiutarmi?

MarcoGG
16-03-2010, 21:33
Cn.Open
......
For i = 0 To 9
cmd = New OleDbCommand("SELECT ......." , Cn)
Dr = cmd.ExecuteReader
Dr.Read()
......
Next
Dr.Close()
cmd = New OleDbCommand("DROP TABLE .....", Cn)
cmd.ExecuteNonQuery()
Cn.Close




Così ad occhio sembra tu stia usando gli stessi oggetti ( Connection, Command... ) che hai usato per interrogare la stessa tabella che poi vuoi droppare. Prova prima a rilasciare tutti gli oggetti settandoli a Nothing, o con .Dispose, ove possibile.

deviato
17-03-2010, 14:55
Ho risolto mettendo Dr.Close() all'interno del ciclo For così viene chiuso ogni volta che lo apro e funziona tutto.. :p