Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Il Pazzo
    Registrato dal
    Jul 2004
    Messaggi
    1,071

    [C#]Errore in runtime in connessione DB

    E' un DB Access....

    Il codice è questo:

    Codice PHP:
    using System.Data.OleDb;

    .....

     protected 
    void btnRegistra_Click(object senderEventArgs e)
        {
            
    OleDbConnection connUtente = new OleDbConnection(
                
    "provider=Microsoft.Jet.OLEDB.4.0;Database='Esame';Integrated Security=sspi");
            
    connUtente.Open();

            
    string strStatement =
                
    "INSERT INTO Utenti(Username, Password, Email, Telefono) VALUES('" +
                
    txtUser.Text "', '" +
                
    txtPass.Text "', '" 
                
    txtEmail.Text "', '" +
                
    txtTelefono.Text "');";
            
    OleDbCommand cmdPerson = new OleDbCommand(strStatementconnUtente);

            
    cmdPerson.ExecuteNonQuery();
            
    connUtente.Close();

            
    txtUser.Text "";
            
    txtPass.Text "";
            
    txtConfermaPass.Text "";
            
    txtEmail.Text "";
            
    txtConfermaEmail.Text "";
            
    txtTelefono.Text "";

            
    txtUser.Focus();
        } 
    L'errore è questo:
    Errore server nell'applicazione '/Esame'.
    Si sono verificati errori in un'operazione OLE DB composta da più passaggi. Controllare i singoli valori di stato OLE DB, se disponibili. Nessuna operazione eseguita.
    Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

    Dettagli eccezione: System.Data.OleDb.OleDbException: Si sono verificati errori in un'operazione OLE DB composta da più passaggi. Controllare i singoli valori di stato OLE DB, se disponibili. Nessuna operazione eseguita.

    Errore nel codice sorgente:

    Riga 22: OleDbConnection connUtente = new OleDbConnection(
    Riga 23: "provider=Microsoft.Jet.OLEDB.4.0;Database='Esame' ;Integrated Security=sspi");
    Riga 24: connUtente.Open();
    Riga 25:
    Riga 26: string strStatement =
    Con la riga 24 evidenzata....

    cosa sbaglio?

  2. #2
    Utente di HTML.it L'avatar di Il Pazzo
    Registrato dal
    Jul 2004
    Messaggi
    1,071
    forse il problema non è qualcosa che riguarda il codice in se... perchè in un'applicazione desktop riesco a creare una tabbella.... forse è un problema di ASP.NET???

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Ho spostato la discussione nell'area dedicata ad ASP.NET.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Il termine

    Password

    e' riservato in Access.

    Prova a scriverlo tra parentesi quadre nella query

    "INSERT INTO Utenti(Username, [Password], Email, Telefono) VALUES('" + ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di Il Pazzo
    Registrato dal
    Jul 2004
    Messaggi
    1,071
    ok quello l'ho corretto... e ho stravolto un pò il codice:

    Codice PHP:
    OleDbConnection connUtente = new OleDbConnection(
                
    "Provider=Microsoft.JET.OLEDB.4.0;data source=esame.mdb");
          
            try
            {
                
    connUtente.Open();
            }
            catch (
    OleDbException ODExc) {
                
    lblErrore.Text "Errore nella connessione con il database";
            }

            
    OleDbCommand cmdPerson connUtente.CreateCommand();

            
    cmdPerson.CommandText =
                
    "INSERT INTO Utenti(Username, [Password], Email, Telefono) VALUES('" +
                
    txtUser.Text "', '" +
                
    txtPass.Text "', '" 
                
    txtEmail.Text "', '" +
                
    txtTelefono.Text "');";
            
            
    cmdPerson.ExecuteNonQuery();
            
    connUtente.Close();
            
            
    txtUser.Text "";
            
    txtPass.Text "";
            
    txtConfermaPass.Text "";
            
    txtEmail.Text "";
            
    txtConfermaEmail.Text "";
            
    txtTelefono.Text "";

            
    txtUser.Focus(); 
    Ora mi da quest'errore:
    ExecuteNonQuery richiede una oggetto Connection aperto e disponibile. Lo stato attuale della connessione è chiuso.
    Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

    Dettagli eccezione: System.InvalidOperationException: ExecuteNonQuery richiede una oggetto Connection aperto e disponibile. Lo stato attuale della connessione è chiuso.

    Errore nel codice sorgente:

    Riga 40: txtTelefono.Text + "');";
    Riga 41:
    Riga 42: cmdPerson.ExecuteNonQuery();
    Riga 43: connUtente.Close();
    Riga 44:
    Ho capito bene o risulta la connesisone chiusa??? perchè non me la apre?
    mi entra pure nella catch che ho messo sopra... però non mi stampa il messaggio....

  6. #6
    Utente di HTML.it L'avatar di Il Pazzo
    Registrato dal
    Jul 2004
    Messaggi
    1,071
    Il problema è che mi entra nel catch.... non mi apre la connessione.... ma non capisco perchè....

    codice:
    OleDbConnection connUtente = new OleDbConnection(
                "Provider=Microsoft.JET.OLEDB.4.0;data source=esame.mdb");
    ho provato a dare un path assoluto ma non cambia nulla...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.