Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 32
  1. #1

    Errore inserimento dati in tabella access con c#

    salve a tutti,
    premetto che sono novellino in asp.net e c#,
    il mio intendo è quello di realizzare una newsletter, ed ho iniziato a realizzare la pagina d'iscrizione....
    utilizzando Web Developer 2008, in locale l'inserimento dei dati funziona correttamente, solo che appena metto tutto in rete, mi da un errore non so che errore è, perchè è generico io nonho messo nessuna pagina di errore.....
    qua vi posto il codice in c#

    sing System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Drawing;
    using System.ComponentModel;
    using System.Text;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Mail;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Data.OleDb;
    using System.Xml.Linq;

    public partial class Newsletter_Default : System.Web.UI.Page
    {
    public void btnSend_Click(object sender, System.EventArgs e)
    {


    if (Page.IsValid)
    {
    OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=http://www.assarte.it/App_Data/Newsletter.mdb");
    con.Open();

    string cmdstr = "INSERT INTO Newsletter (Nome,Città,Email,Data) VALUES( ('" + Nome.Text + "'),('" + Città.Text + "'),('" + Email.Text + "'),('" + Data.Text + "'))";
    OleDbCommand aCommand = new OleDbCommand(cmdstr, con);
    OleDbDataReader aReader = aCommand.ExecuteReader();
    //close the reader
    aReader.Close();

    //close the connection Its important.
    con.Close();
    }

    else
    {
    lblResult.Text = "E' Successo un errore, riprova";
    }

    lblStatus.Text="Iscrizione avvenuta correttamente ";

    }
    }

    Per favore aiuto

  2. #2
    Potrebbe essere il formato della data a romperti le balle...
    Ti conviene convertirlo nel formato yyyy-MM-dd (anno, mese, giorno)

    Se scatta una eccezione, per vedere qual'è ti conviene mettere un try catch in cui fai la stessa operazione dell'else ma mettendo in output l'eccezione stessa.

    Seconda cosa: Per come hai scritto il codice, anche in caso di "E' Successo un errore, riprova" la lblStatus viene valorizzata con "Iscrizione avvenuta correttamente ". Mi sono permesso di spostartelo dentro nell'if.

    codice:
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Drawing;
    using System.ComponentModel;
    using System.Text;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Mail;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Data.OleDb;
    using System.Xml.Linq;
    
    public partial class Newsletter_Default : System.Web.UI.Page
    {
    public void btnSend_Click(object sender, System.EventArgs e)
    {
    
    
    if (Page.IsValid)
    {
    try{
    OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=http://www.assarte.it/App_Data/Newsletter.mdb");
    con.Open();
    
    string cmdstr = "INSERT INTO Newsletter (Nome,Città,Email,Data) VALUES( ('" + Nome.Text + "'),('" + Città.Text + "'),('" + Email.Text + "'),('" + Data.Text + "'))";
    OleDbCommand aCommand = new OleDbCommand(cmdstr, con);
    OleDbDataReader aReader = aCommand.ExecuteReader();
    //close the reader
    aReader.Close();
    
    //close the connection Its important.
    con.Close();
    lblStatus.Text="Iscrizione avvenuta correttamente ";
    catch(Exception ex)
    {
    lblResult.Text = ex.message;
    }
    }
    
    else
    {
    lblResult.Text = "E' Successo un errore, riprova";
    }
    
    //lblStatus.Text="Iscrizione avvenuta correttamente ";
    
    }
    }
    Il mio mononeurone ormai ha fatto le valigie e m'ha lasciato in completa solitudine...yuuuuhuuuuu, c'è neeessuuuuuunoooooo????...gluglugl...u

  3. #3
    m'è scappata una } ma non riesco a modificare il post.
    devi metterla subito prima del catch.

    Scusami
    Il mio mononeurone ormai ha fatto le valigie e m'ha lasciato in completa solitudine...yuuuuhuuuuu, c'è neeessuuuuuunoooooo????...gluglugl...u

  4. #4
    ciao, e grazie per avermi risposto.....
    ho aggiunto la } solo che mi da errore:

    'System.Exception' non contiene una definizione di 'message' e non è stato trovato alcun metodo di estensione 'message'che accetta un primo argomento di tipo 'System.Exception'. Probabilmente manca una direttiva using o un riferimento a un assembly.

    in web develope infatti mi sottolinea in rosso

    lblResult.Text = ex.message;

    solo l'estensione message......

    non so come fare ora però.....

  5. #5
    prova ad aggiungere questa direttiva

    using System.Net;
    Il mio mononeurone ormai ha fatto le valigie e m'ha lasciato in completa solitudine...yuuuuhuuuuu, c'è neeessuuuuuunoooooo????...gluglugl...u

  6. #6
    ciao,
    si l'ho aggiunta ma mi da sempre l'errore....

  7. #7
    M di message maiuscola...scusami per la svista.
    C# è case sensitive.
    Il mio mononeurone ormai ha fatto le valigie e m'ha lasciato in completa solitudine...yuuuuhuuuuu, c'è neeessuuuuuunoooooo????...gluglugl...u

  8. #8
    Ciao,
    si l'errore non c'è più... solo che non mi inserisce i dati nella tabella..... nemmeno in locale.... scusa se ti sto pressando, ma come devo fare??

  9. #9
    Dimmi qual'è l'eccezione che si genera. Se non vedi niente, non è che hai la lblResult.visible settata a false?
    Il mio mononeurone ormai ha fatto le valigie e m'ha lasciato in completa solitudine...yuuuuhuuuuu, c'è neeessuuuuuunoooooo????...gluglugl...u

  10. #10
    cioa,
    in realtà non mi esce nessuna eccezione, anzi mi risulta corretto e mi esce la
    lblResult.Text = "E' Successo un errore, riprova";
    correttamente,
    solo che se vado a prendere il database e a controllare l'inserimento, non noto nessun campo riempito...... possibile che nonriesco ad inserire 4 campi elementari in un db access??

    ciao e grazie

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.