Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 26
  1. #11
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    116
    boh.. avrai qualche oggetto o classe.. mi posti il codice che hai scritto?

    Movimenti vedo che è il nome della tabella, ma non penso si riferisca a quella, comunque nel primo post che hai scritto al click del pulsante l'oggetto si chiama movimenti.. potrebbe essere quello?

  2. #12
    ti riposto tutto.
    connessione:
    codice:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using MySql.Data.MySqlClient;
    
    namespace Matteo
    {
        public class Connessione
        {
            public static MySqlConnection getConnection()
            {
                string db = "Database=db;Data Source=host;User Id=user;Password=pass;";
                MySqlConnection conn = null;
                try
                {
                    conn = new MySqlConnection(db);
                    conn.Open();
                }
                catch (MySqlException e)
                {
                    Console.Write(e.Message);
                }
                return conn;
            }
        }
    }
    insrimento:
    codice:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using MySql.Data.MySqlClient;
    
    namespace Matteo
    {
        public class Inserimento
        {
            private int entrate;
            private int uscite;
            private string causale;
    
            public Inserimento(int entrate, int uscite, string causale)
            {
                this.entrate = entrate;
                this.uscite = uscite;
                this.causale = causale;
            }
            
            public bool inserisci()
            {
                string sql = "INSERT INTO movimenti (entrate,uscite,causale,data) VALUES(" + this.entrate + "," + this.uscite + ",'" + this.causale + "', System.DateTime.Today.Date)";
                MySqlConnection conn = null;
                MySqlCommand cmd = null;
                try 
                {
                    conn = Connessione.getConnection();
                    cmd = new MySqlCommand(sql, conn);
                    cmd.ExecuteNonQuery();
                    return true;
                }
                catch (MySqlException e)
                {
                    Console.Write(e.Message);
                    return false;
                }
            }
        }
    }
    evento:
    codice:
            protected void Button1_Click(object sender, EventArgs e)
            {
                if ()
                {
                    Matteo.Inserimento movimento = new Matteo.Inserimento(int.Parse(txtEntrate.Text.ToString()), int.Parse(txtUscite.Text.ToString()), txtCausale.Text);
                    Label5.Text = "Inserimento avvenuto con successo!";
                }
                else
                {
                    Label5.Text = "Errore!";
                }
            }
    nell'if visual studio mi da movimenti e nn l'oggetto movimento.
    nn penso derivi dall'istruzione sql.
    teoricamente dovrebbe leggere quel codice com una normale stringa.

  3. #13
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    116
    Ah ok, ora ho capito
    non puoi mettere l'oggetto movimento nell'if se non l'hai ancora creato..
    prima devi crearlo (fuori dall'if) e una volta creato puoi mettere la condizione sul metodo inserisci()

  4. #14
    giusto hai ragione.
    cmq la query cos' funziona con curdate() funziona.

    ho solo un'altra domanda.

    1-nei vari catch ho messo Console.Write.
    però così nn vedo se c'è un errore.
    che devo mettere per restituirmi l'errore visivamente?

  5. #15
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    116
    non saprei con vb.net come ottnere l'effetto di un Console.Write.

    I modi che mi vengono in mente sono due:

    - modifichi i metodi in modo che tornino una stringa (e dunque la stringa nel caso di una eccezione sollevata sarà l'eccezione stessa)

    - passi ai metodi un riferimento ad un oggetto textbox il cui contenuto della text viene modificato se c'è un errore

  6. #16
    perfetto.
    faccio qualche prova.
    grazie!!!

  7. #17
    ah no ecco un'altra cosa.
    se l'operazione è avvenuta con successo vorrei ricaricare la gridview, o anche la pagina ma dopo un tot di secondi, per dare il tempo di visualizzare il messaggio di successo.
    ho visto che Server.Transfer e Response.Redirect nn ha hanno la possibilità di impostare un tempo.
    come posso fare?

  8. #18
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    116
    Onestamente, nn mi sembra un buon approccio...

    O fai un link di reindirizzamento nella pagina di avvenuto inserimento, oppure potresti, con javascript, creare una finestra popup in quella stessa pagina che avverte dell'avvenuto inserimento.
    Ma javascript non è il mio settore

  9. #19
    Originariamente inviato da Verce
    Onestamente, nn mi sembra un buon approccio...

    O fai un link di reindirizzamento nella pagina di avvenuto inserimento, oppure potresti, con javascript, creare una finestra popup in quella stessa pagina che avverte dell'avvenuto inserimento.
    Ma javascript non è il mio settore
    no eviterei i popup.
    potrei reindirizzare al una pagina quando si fa click sul bottone e reindirizzare in quella pagina.
    ma posso riempire un enetuale label di quella pagina?
    cioè:
    codice:
            protected void Button1_Click(object sender, EventArgs e)
            {
                Matteo.Inserimento movimento = new Matteo.Inserimento(int.Parse(txtEntrate.Text), int.Parse(txtUscite.Text), txtCausale.Text);
                if (movimento.inserisci())
                {
                    Server.Transfer("Result.aspx");
                    labResult.Text = "Query eseguita con successo!"; //label che dovrebbe stare nella pagina Result.aspx
                    
                }
                else
                {
                    labResult.Text = "Riprova!";
                }
            }
    si può scrivere nella label di un'altra pagina??

  10. #20
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    116
    No non si può fare così..
    Però puoi passare i parametri in querystring:

    Response.redirect("Result.aspx?id=0")



    e nella pagina result.aspx

    variabile=Request.Querystring("id")

    if (variabile=0)
    //comunica l'errore
    Else
    //comunica l'inserimento

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 © 2026 vBulletin Solutions, Inc. All rights reserved.