Domanda Visual Studio C# Verifica se il file con estensione .MDB esiste.

Pacifico437

Utente Gold
27 Aprile 2012
166
78
6
200
Buongiorno,

al programma in Bin>Release, creo una cartella con il seguente codice:
Codice:
> public static string percorso_database = Application.StartupPath +   @"\Documenti\";

  public static void percorso_database()
  {
    if (System.IO.Directory.Exists(percorso_database) == false)
          MessageBox.Show("Cartella non esiste");
       {
          System.IO.Directory.CreateDirectory(percorso_database);
       }
   }
Nella suddetta cartella dovrebbe esserci un file con l'estensione .MDB (Access).

Ho provato con il seguente codice con risultato negativo:
Codice:
if (System.IO.Directory.Exist("string connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Documenti\Nomi.mdb";") == true)
 {
     MessageBox.Show("File esiste");
 }
 else if (System.IO.Directory.Exist("string connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Documenti\Nomi.mdb";");") == false)
 {
     MessageBox.Show("File non esiste");
     Applicatione.Exit();
 }
Gradirei, e non so dove sbaglio, la chiusura del programma se il file non esiste.

In attesa di un gradito suggerimento, saluto.
Domenico.
 
Buongiorno Domenico,
Il primo codice sembra OK! (a parte che il messagebox va dopo la graffa) Il secondo invece no, la funzione File.Exists (non usare Directory.Exists per i file mdb) vuole il percorso al file, invece stai passando string connStr ecc che neanche verra' eseguito.
Il controllo dovrebbe essere:
C#:
string dbNomiFile = percorso_database + "Nomi.mdb";
if (System.IO.File.Exists(dbNomiFile))
{
     // file esiste
     string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbNomiFile;
     // connetti al db usando la connStr
}
else
{
    // file non esiste
    MessageBox.Show("File non esiste!");
    Environment.Exit(0);
}
 
Ultima modifica:
Gent.mo JunkCoder,

ringrazio della gentilezza e tempestività.

Ho provato il suggerimento e funziona a metà:

Se inserisco il file .mdb funziona perfettamente viceversa se il file non viene inserito, crea la cartella e presenta lo stesso errore (Mancanza del file nella cartella).
Senz'altro nella confusione sono io che sbaglio e gradirei una cortesia se posso inviare il file per la visione.

Fiducioso, saluto.
Domenico.
Messaggio unito automaticamente:

Gent.mo JunkCoder,
dopo tanto, sono riuscito ciò che desideravo.
Una gentilezza se è possibile.
Come avere una Label al centro del Form.
Ringrazio della gentilezza e disponibilità, auguro una buona giornata, saluto.
Domenico.
 
Gent.mo JunkCoder,
dopo tanto, sono riuscito ciò che desideravo.
Una gentilezza se è possibile.
Come avere una Label al centro del Form.
Ringrazio della gentilezza e disponibilità, auguro una buona giornata, saluto.
Domenico.

Una label al centro del form nel senso che resti al centro anche ridimensionandolo?
Per farlo automatico bisogna disabilitare la property AutoSize della label, impostare la TextAlign a Center, impostare l'Anchor a Left-Top-Right e ridimensionare la label per occupare tutto lo spazio orizonalmente ma se serve anche un allineamento verticale va fatto da codice (a meno che la label non sia l'unica componente del form, in quel caso si mette anche l'anchor a bottom e si fa occupare tutto lo spazio dalla label), magari nell'evento Resize del form che calcoli l'height del container / 2 - la height della label / 2 e lo imposti alla location Top della label.