Impossibile accedere a file access da c#

di il
19 risposte

19 Risposte - Pagina 2

  • Re: Impossibile accedere a file access da c#

    AlessandroILTOP ha scritto:


    non posso vedere l'eccezione dato che sul mio laptop non c'è visual studio e si verifica soltanto sul laptop...
    Ok, ma mica ti serve VS... Apri lo StackTrace quando viene sollevata l'eccezione... Dato che non sei in un blocco Try...Catch dovrebbe spuntarti una Form simile a quella in questo link. Apri i dettagli e cerca di capire quale parte del codice da errore.

    Altrimenti implementa un rudimentale Log, che in una stringa mantenga memoria del codice eseguito e, al sollevamento dell'eccezione, non faccia bloccare l'app ma mostri una MsgBox con il testo.
  • Re: Impossibile accedere a file access da c#

    Ti faro sapere...
  • Re: Impossibile accedere a file access da c#

    Secondo me puoi provare anche a fare una banale applicazione console così da concentrarsi sulla parte di accesso al DB e visualizzare i dati a video (senza quindi scriverli in un file).


    Grosso modo qualcosa del genere:
    
    
                try
                {
                    var filePath = "<MettiIlPercorsoDelFileAccess>";
    
                    // Verifica esistenza file
                    if (!File.Exists(filePath))
                    {
                        Console.WriteLine($"Impossibile leggere il file {filePath}");
                        Console.ReadLine();
                        return;
                    }
    
                    // Verifica di avere permessi di scrittura
                    var fileInfo = new FileInfo(filePath);
                    if (fileInfo.IsReadOnly)
                    {
                        Console.WriteLine($"File {filePath} in sola lettura");
                        Console.ReadLine();
                        return;
                    }
    
    
                    // Apertura connessione
                    var connectionString = "<MettiLaStringaDiConnessione>";
                    using (OleDbConnection cnn1 = new OleDbConnection(connectionString))
                    {
                        Console.WriteLine("Apertura connessione in corso...");
                        cnn1.Open();
                        Console.WriteLine("Apertura riuscita");
                    
                        var utenti = new List<string>();
                        using (OleDbCommand cm1 = new OleDbCommand("Select * from Utenti WHERE NOT Nome_Utente='Administrator'", cnn1))
                        {
                            Console.WriteLine("Esecuzione query1 in corso");
                            using (OleDbDataReader reader = cm1.ExecuteReader())
                            {
                                Console.WriteLine("Query1 eseguita");
                                while (reader.Read())
                                {
                                    string field2 = reader.GetString(2);
                                    if (string.IsNullOrEmpty(field2) ||
                                        field2.ToLower() != "yes" ||
                                        field2.ToLower() != "si")
                                    {
                                        utenti.Add(reader.GetString(0));
                                    }
                                }
                            }
                        }
                        Console.WriteLine($"Elaborazione query1 terminata e trovati {utenti.Count} utenti");
                        
                        
                        utenti.Clear();
                        using (OleDbCommand cm2 = new OleDbCommand("Select * from Utenti WHERE NOT Nome_Utente='Administrator'", cnn1))
                        {
                            Console.WriteLine("Esecuzione query2 in corso...");
                            using (OleDbDataReader reader2 = cm2.ExecuteReader())
                            {
                                Console.WriteLine("Query2 eseguita");
                                while (reader2.Read())
                                {
                                    string field2 = reader2.GetString(2);
                                    if (string.IsNullOrEmpty(field2) ||
                                        field2.ToLower() != "yes" ||
                                        field2.ToLower() != "si")
                                    {
                                        utenti.Add(reader2.GetString(0));
                                    }
                                }
                            }
                        }
                        Console.WriteLine($"Elaborazione query1 terminata e trovati {utenti.Count} utenti");
                        
                    }
                }
                catch (Exception ex)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Errore nell'esecuzione del programma");
                    Console.WriteLine();
                    Console.WriteLine("Testo errore:");
                    Console.WriteLine(ex.Message);
                    Console.WriteLine();
                    Console.WriteLine("Stack trace:");
                    Console.WriteLine(ex.StackTrace);
                    Console.ReadLine();
                }
    
    
    
  • Re: Impossibile accedere a file access da c#

    Vi farò sapere al più presto
  • Re: Impossibile accedere a file access da c#

    Forse ho scoperto che il percorso è troppo lungo.. Ma penso che non sia questo il problema
Devi accedere o registrarti per scrivere nel forum
19 risposte