Click here to Skip to main content
15,893,486 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
i have admin page (consists tabs , in edit tab clicked on OK then navigated to another page (EditUser.aspx)).But in edit page when i click OK button it's not updating the database ,and previous values are only showing in controls.
here is the admin designer.
C#
<pre lang="c#">Edit Member </td></tr>
            
            
 <tr><td align="right" colspan="2">Member ID: </td>
                
                
 <td><asp:TextBox ID="txtememid" runat="server"></asp:TextBox>   </td></tr>
            
            
<tr><td align="right" colspan="2">Card ID: </td>
                
                
 <td>
                    
                    

        <asp:TextBox ID="txtecardid" runat="server" Width="112px"></asp:TextBox>   </td></tr>
            
            
 <tr> <td>
                
                
     <asp:Button ID="btneok" runat="server" Text="OK"  
        OnClick="btneok_Click" Font-Bold="True" Font-Names="Times New Roman" 
        Width="87px"/>   </td><td>
                    
                    

    <asp:Button ID="btnecancel" runat="server" Text="Cancel" 
        Width="96px" OnClientClick="this.form.reset();return false;" 
           /></td></tr></table></asp:Panel>


and cod behind for admin edit is:
C#
<pre lang="c#"> protected void btneok_Click(object sender, EventArgs e)
        {
            if (txtememid.Text != "" || txtecardid.Text != "")
                Response.Redirect("~/EditUser.aspx?memberid=" + txtememid.Text.Replace("&", "%26") +
                    "&cardid=" + txtecardid.Text.Replace("&", "%26"));
            else
            {
                Response.Write("<script type='text/javascript'>");
                Response.Write("alert('PLEASE ENTER EITHER MEMBER ID or CARD ID');");
                Response.Write("</script>");


            }
        }

and my Edituser.aspx is:
C#
<pre lang="c#"><%@ Page Language="C#" AutoEventWireup="true" CodeBehind="EditUser.aspx.cs" Inherits="Online_Billing_System.EditUser" %>
<%@ Register Namespace="AjaxControlToolkit" Assembly="AjaxControlToolkit" tagPrefix="ajax" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head  runat="server">
    <title></title>
</head>
<body>
    <form id="form1"  runat="server">
    <ajax:ToolkitScriptManager ID="scriptmanager1"  runat="server">
</ajax:ToolkitScriptManager>
    <div>
     <table align="center" 
            style="width: 651px"><tr><td></td><td align="right" ></td><td align="center">Edit Member </td></tr><tr><td></td><td align="right" >Member ID: </td><td>
         <asp:TextBox ID="txteditmemid" runat="server"></asp:TextBox></td><td>
         </td></tr><tr><td></td><td align="right" >Card ID: </td><td>
             <asp:TextBox ID="txteditcardid" runat="server" ></asp:TextBox></td><td>
              </td></tr><tr><td></td><td align="right">Name: </td><td>
             <asp:TextBox ID="txteditname" runat="server"></asp:TextBox></td><td>
              </td></tr><tr><td></td><td align="right">Date Of Membership: </td><td>
<asp:TextBox ID="txteditdate" runat="server"  
       ></asp:TextBox> </td><td>
                 <ajax:CalendarExtender  ID="calendar1" 
                    TargetControlID="txteditdate"  runat="server" PopupButtonID="calendar" 
                    Format="yyyy-MM-dd" Enabled="True"></ajax:CalendarExtender></td>
    
            <td class="style1">
                 </td></tr><tr><td></td><td align="right">Opening Balance: </td><td>
             <asp:TextBox ID="txteditopenbal" runat="server"></asp:TextBox></td><td>
              </td></tr><tr><td></td><td align="right" >Phone No: </td><td>
             <asp:TextBox ID="txteditphone" runat="server"></asp:TextBox></td><td>
              </td></tr><tr><td></td><td align="right" >Address: </td><td align="left">
             <asp:TextBox ID="txteditaddress" runat="server"></asp:TextBox></td><td>
              </td></tr><tr><td></td><td align="right">Password:</td><td align="left">
                <asp:TextBox ID="txteditpwd" runat="server" TextMode="Password"></asp:TextBox></td><td>
                  </td></tr><tr><td></td><td align="right">Confirm Password</td><td align="left">
                <asp:TextBox ID="txteditconfirmpwd" runat="server" TextMode="Password"></asp:TextBox></td><td>
                  </td><td> </td></tr><tr><td></td><td></td><td align="left" >
    <asp:Button ID="btneditok" runat="server" Text="OK" onclick="btneditok_Click"/>
    <asp:Button ID="btneditcancel" runat="server" Text="Cancel" OnClientClick="this.form.reset();return false;" 
       /></td></tr></table>
    </div>
    </form>
</body>
</html>


and code behind for Edituser is:
C#
<pre lang="c#">using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Configuration;
using MySql.Data.MySqlClient;
using System.Text.RegularExpressions;
using System.Text;

namespace Online_Billing_System
{
    public partial class EditUser : System.Web.UI.Page
    {
        String ConnectionString = WebConfigurationManager.ConnectionStrings["myConnectionString"].ToString();
        


        protected void Page_Load(object sender, EventArgs e)
        {
            String memberid = Request.QueryString["memberid"];
            String cardid = Request.QueryString["cardid"];
            
            using (MySqlConnection con = new MySqlConnection(ConnectionString))
            {
                String query = "select member_id,card_id,name,date_of_membership,opening_balance,phone_number,address,password,confirm_password from admin where member_id='" + memberid + "' OR card_id='" + cardid + "' ";
                MySqlCommand command = new MySqlCommand(query,con);
                con.Open();
                using (MySqlDataReader rdr = command.ExecuteReader())
                {
                    if (rdr.Read())
                    {
                        txteditmemid.Text = rdr["member_id"].ToString();
                        txteditcardid.Text = rdr["card_id"].ToString();
                        txteditname.Text = rdr["name"].ToString();
                       String date1 = rdr["date_of_membership"].ToString();
                       String[] date = Regex.Split(date1, "[/ ]");
                       StringBuilder sb = new StringBuilder();
                       sb.Append(date[2]);
                        sb.Append("-");
                        sb.Append(date[0]);
                        sb.Append("-");
                        sb.Append(date[1]);
                        txteditdate.Text = sb.ToString(); ;
                        txteditopenbal.Text = rdr["opening_balance"].ToString();
                        txteditphone.Text = rdr["phone_number"].ToString();
                        txteditaddress.Text = rdr["address"].ToString();
                        txteditpwd.Text = rdr["password"].ToString();
                        txteditconfirmpwd.Text = rdr["confirm_password"].ToString();
                    }
                
                }

               // String query1 = "SELECT CAST(`date_of_membership` AS DATE) AS date_of_membership FROM admin where member_id='" + memberid + "' OR card_id='" + cardid + "' ";
               // MySqlCommand com = new MySqlCommand(query1, con);
               // using(MySqlDataReader rdr=com.ExecuteReader())
               // { if(rdr.Read())

               //txteditdate.Text = rdr["date_of_membership"].ToString(;
               // }
            
            }
        }

     

        protected void btneditok_Click(object sender, EventArgs e)
        {
            String memberid = Request.QueryString["memberid"];
            String cardid = Request.QueryString["cardid"];
            using (MySqlConnection con = new MySqlConnection(ConnectionString))
            {
                
                String query = "update admin set member_id=@memberid,card_id=@cardid,name=@name,date_of_membership=@date,opening_balance=@balance,phone_number=@phone,address=@address,password=@pwd,confirm_password=@confirmpwd where member_id='" + memberid + "' OR card_id='" + cardid + "' ";
                MySqlCommand command = new MySqlCommand(query, con);
                command.Parameters.AddWithValue("@memberid", txteditmemid.Text);
                command.Parameters.AddWithValue("@cardid", txteditcardid.Text);
                command.Parameters.AddWithValue("@name", txteditname.Text);
                command.Parameters.AddWithValue("@date", txteditdate.Text);
                command.Parameters.AddWithValue("@balance", txteditopenbal.Text);
                command.Parameters.AddWithValue("@phone", txteditphone.Text);
                command.Parameters.AddWithValue("@address", txteditaddress.Text);
                command.Parameters.AddWithValue("@pwd", txteditpwd.Text);
                command.Parameters.AddWithValue("@confirmpwd", txteditconfirmpwd.Text);
                con.Open();
                command.ExecuteNonQuery();
            }
        }
    }
}
Posted
Comments
Sampath Lokuge 21-Jan-14 7:47am    
Have you checked with the debug mode ? Are all parameters filling with proper values ? Plz Put a debug point on 'btneditok_Click' method and check that.

1 solution

Add IsPostBack in your page_Load event

C#
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                String memberid = Request.QueryString["memberid"];
                String cardid = Request.QueryString["cardid"];

                using (MySqlConnection con = new MySqlConnection(ConnectionString))
                {
                    String query = "select member_id,card_id,name,date_of_membership,opening_balance,phone_number,address,password,confirm_password from admin where member_id='" + memberid + "' OR card_id='" + cardid + "' ";
                    MySqlCommand command = new MySqlCommand(query, con);
                    con.Open();
                    using (MySqlDataReader rdr = command.ExecuteReader())
                    {
                        if (rdr.Read())
                        {
                            txteditmemid.Text = rdr["member_id"].ToString();
                            txteditcardid.Text = rdr["card_id"].ToString();
                            txteditname.Text = rdr["name"].ToString();
                            String date1 = rdr["date_of_membership"].ToString();
                            String[] date = Regex.Split(date1, "[/ ]");
                            StringBuilder sb = new StringBuilder();
                            sb.Append(date[2]);
                            sb.Append("-");
                            sb.Append(date[0]);
                            sb.Append("-");
                            sb.Append(date[1]);
                            txteditdate.Text = sb.ToString(); ;
                            txteditopenbal.Text = rdr["opening_balance"].ToString();
                            txteditphone.Text = rdr["phone_number"].ToString();
                            txteditaddress.Text = rdr["address"].ToString();
                            txteditpwd.Text = rdr["password"].ToString();
                            txteditconfirmpwd.Text = rdr["confirm_password"].ToString();
                        }

                    }

                    // String query1 = "SELECT CAST(`date_of_membership` AS DATE) AS date_of_membership FROM admin where member_id='" + memberid + "' OR card_id='" + cardid + "' ";
                    // MySqlCommand com = new MySqlCommand(query1, con);
                    // using(MySqlDataReader rdr=com.ExecuteReader())
                    // { if(rdr.Read())

                    //txteditdate.Text = rdr["date_of_membership"].ToString(;
                    // }

                }
            }
        }


after adding ispostback plz debug your code working or not? if you not working comment me...!
 
Share this answer
 
v2
Comments
Member 10263519 21-Jan-14 23:47pm    
thanks a lot it's working
Bojjaiah 22-Jan-14 1:42am    
Welcome :)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900