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
ASP.NET 2.0 / 3.5 / 4.0
Cancellazione directory
martedì 10 luglio 2007 - 11.03
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
AndreaB
Profilo
| Newbie
6
messaggi | Data Invio:
mar 10 lug 2007 - 11:03
Ciao a tutti.
Nella mia applicazione windows, apro una connessione odbc a un database paradox con la seguente stringa di connessione ed eseguo una query:
"Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;DefaultDir=" + <perocorso alla cartella del db> + ";Dbq=" + <perocorso alla cartella del db> + ";CollatingSequence=ASCII;".
Dopo aver chiuso la connessione e l'oggetto OdbcDataReader, vorrei cancellare la cartella in cui il database paradox è contenuto con l'istruzione Directory.Delete(<perocorso alla cartella del db>,true) ma ottengo un'eccezione perchè la cartella è utilizzata da un altro processo.
All'interno del codice non impiego alcun oggetto DirectoryInfo nè FileInfo.
Avete qualche suggerimento?
Grazie.
franco_rh
Profilo
| Junior Member
55
messaggi | Data Invio:
gio 12 lug 2007 - 22:37
chiudi la connessione al database?
se qualche file nella cartella è aperto (cioè utilizzato in qualsiasi modo dall'applicazione) la cartella non può essere eliminata.
in extremis prova ad eliminare i singoli file contenuti nella cartella poichè penso che la cartella abbia un handle direttamente dalla sessione se non addirittura dall'applicazione e non lo rilascia se non termina la sessione o l'applicazione.
Magari potresti creare una global page e provare a cancellare la cartella dall'evento session_end (è teoria).
tutto quello che ho detto decade nel caso tu voglia cancellare una cartella di sistema: ti conviene creare una cartella personale in una directory del tipo: miosito/public/miacartelladaeliminare/ se no non se ne fa niente.
MarijCat
AndreaB
Profilo
| Newbie
6
messaggi | Data Invio:
mar 17 lug 2007 - 13:18
Grazie per avermi risposto.
I file all'interno della cartella li riesco a cancellare e non utilizzo alcuna cartella di sistema.
Ti mostro il codice:
String directory="C:\\prova";
String connectionString = "Driver={Microsoft Paradox Driver (*.db )};DefaultDir=" + directory +
";Dbq=" + directory + ";CollatingSequence=ASCII;";
using (OdbcConnection odbcConnection = new OdbcConnection(connectionString))
{
OdbcCommand command = new OdbcCommand("SELECT * FROM Orders", odbcConnection);
command.Connection.Open();
OdbcDataReader odbcDataReader = command.ExecuteReader();
if (odbcDataReader.HasRows)
{
//.....
}
odbcDataReader.Close();
command.Connection.Close();
}
GC.Collect();
try
{
Directory.Delete(directory,true);
}
catch (Exception exc) { MessageBox.Show(exc.Message); }
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 !