Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908

    Problema con clausola update

    Ho un semplice modulo per la modifica di alcuni dati, e il codice che dovrebbe fare ciò è il seguente:

    codice:
            protected void EditButton_Click(object sender, EventArgs e)
            {
                string connString = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
                string ActiveUserId = Session["ActiveUserId"].ToString();
                string u_Name = txtName.Text.ToString();
                using (SqlConnection conn = new SqlConnection(connString))
                {
                    using (SqlCommand cmd = new SqlCommand("UPDATE Utente SET Name= @Name  WHERE UserId= @UserId", conn))
                    {
                        cmd.Parameters.AddWithValue("@Name", u_Name);
                        cmd.Parameters.AddWithValue("@UserId", ActiveUserId);
                        conn.Open();
                        int edited = cmd.ExecuteNonQuery();
                        Response.Write("Occorrenze trovate:" + edited.ToString());
    
    
                    }
                }
            }
    Benché non ottenga alcun errore, e la query mi restituisca "1" come occorrenze trovate, il campo de db Name non viene aggiornato, ma viene popolato con il valore "System.Web.UI.WebControls.TextBox". Cosa mi sfugge?
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  2. #2
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857
    boh hai provato già con
    string u_Name = txtName.Text
    ?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  3. #3
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Quote Originariamente inviata da supermac Visualizza il messaggio
    boh hai provato già con
    string u_Name = txtName.Text
    ?
    Stessa cosa, assurdo onestamente.
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  4. #4
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Ho risolto il problema aggiungendo
    codice:
    if(!Page.IsPostBack)
    nel blocco Load.

    codice:
    namespace MyApp.UserHub
    {
        public partial class EditUserAccount : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if(!Page.IsPostBack)
                { 
                if(Session["ActiveUserId"] == null)
                {
                    Response.Redirect("../Login.aspx");
                }
    
    
                else
                {
                    string connString = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
                    string ActiveUserId = Session["ActiveUserId"].ToString();
                        using (SqlConnection conn = new SqlConnection(connString))
                        {
                            using (SqlCommand cmd = new SqlCommand("SELECT * FROM Utente WHERE UserId=@ActiveUserId ", conn))
                            {
                                cmd.Parameters.AddWithValue("@ActiveUserId", ActiveUserId);
                                conn.Open();
    
    
                                using (SqlDataReader result = cmd.ExecuteReader())
                                {
                                    while (result.Read())
                                    {
                                        txtID.Text = HttpContext.Current.User.Identity.Name;
                                        txtName.Text = result["Name"].ToString();
                                        txtSurname.Text = result["Surname"].ToString();
                                        lblRegistrationDate.Text = result["InsertDate"].ToString();
                                    }
                                }
    
    
                            }
                        }
                    }
                }
                   
            }
    
    
            protected void EditButton_Click(object sender, EventArgs e)
            {
         
                    string connString = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
                    string ActiveUserId = Session["ActiveUserId"].ToString();
                    string u_Name = txtName.Text.ToString();
                    using (SqlConnection conn = new SqlConnection(connString))
                    {
                        using (SqlCommand cmd = new SqlCommand("UPDATE Utente SET Name= @Name  WHERE UserId= @UserId", conn))
                        {
                            cmd.Parameters.AddWithValue("@Name", u_Name);
                            cmd.Parameters.AddWithValue("@UserId", ActiveUserId);
                            conn.Open();
                            cmd.ExecuteNonQuery();
    
    
                            // Response.Write("Occorrenze trovate:" + edited.ToString());
    
    
                        }
                    }
                
            }
        }
    }
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

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