Friday 3 June 2011

GridView with Paging, Sorting, Update, Delete, Searching

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
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.Xml.Linq;
using System.Data.SqlClient;

public partial class ShowData : System.Web.UI.Page
{
    Connection con = new Connection();
    DataTable dtable;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            fillgrid();
            Session.Add("ope", "Listing");
        }
    }
    protected void fillgrid()
    {
        string query = "select * from test_reg";
        dtable = con.sqlSelect(query);
        grdList.DataSource = dtable;
        grdList.DataBind();
    }
    public string getImage(string Photo)
    {
        string varimg = "~/Image/";
        varimg += Photo;
        return varimg;
    }
    protected void grdList_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        grdList.PageIndex = e.NewPageIndex;
        fillgrid();
    }
    protected void grdList_Sorting(object sender, GridViewSortEventArgs e)
    {
        string query = "select * from test_reg";
        dtable = con.sqlSelect(query);
        Session["sort"] = e.SortExpression;
        string sortstr = Session["sort"].ToString();
        DataView dview = new DataView(dtable);
        if (sortstr == "asc")
            dview.Sort = e.SortExpression + " desc";
        else
            dview.Sort = e.SortExpression + " asc";

        grdList.DataSource = dview;
        grdList.DataBind();
    }
    protected void grdList_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        int uid = Convert.ToInt32(grdList.DataKeys[e.RowIndex].Values[0]);       
        con.sql_delete_data(uid);
        fillgrid();
    }
    protected void ImageButton3_Click(object sender, ImageClickEventArgs e)
    {
        Session.Add("ope", "Listing");
        if (TextBox1.Text != "")
        {
            string query = "select * from test_reg where Id=" + TextBox1.Text;
            dtable = con.sqlSelect(query);
            grdList.DataSource = dtable;
            grdList.DataBind();
            TextBox1.Text = "";
        }
        else
        {
            string query = "select * from test_reg";
            dtable = con.sqlSelect(query);
            grdList.DataSource = dtable;
            grdList.DataBind();
        }
    }
    protected void grdList_RowEditing(object sender, GridViewEditEventArgs e)
    {
        int test_reg_Id = Convert.ToInt32(grdList.DataKeys[e.NewEditIndex].Values[0]);
        Session.Add("ope", "Edit");
        Session.Add("test_reg_Id", test_reg_Id);
        Response.Redirect("newuser.aspx");
    }
    protected void logout_Click(object sender, EventArgs e)
    {
       Response.Write("<script language=javascript> window.open('Login.aspx','_parent',replace=false);  
       </script>");
       Session["name"] = null;
    }
}

Full Registration Form with insert /Update

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
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.Xml.Linq;
using System.Data.SqlClient;
using System.Drawing;

public partial class newuser : System.Web.UI.Page
{
    Connection con = new Connection();
    DataSet ds = new DataSet();
    DataTable dtable;
    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["constrwc"].ToString());
    int uid;
    DateTime dob;
    string procedure_name = "";
    string hobby = "";
    string firstname, lastname, gender, country, state, uname, password, email, photo;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack == false)
        {
            ddldayyear();
            ddlcountryfill();
            if (Session.Count > 1)
            {
                string operation = Session["ope"].ToString();
                if (operation == "Edit")
                {
                    string query = "select * from test_reg where Id=";
                    query += Session["test_reg_Id"].ToString();
                    dtable = con.sqlSelect(query);

                    txt_id.Text = dtable.Rows[0][0].ToString();
                    txt_id.Enabled = false;
                    txtfname.Text = dtable.Rows[0][1].ToString();
                    txtlname.Text = dtable.Rows[0][2].ToString();
                    txtemail.Text = dtable.Rows[0][9].ToString();
                    txtuname.Text = dtable.Rows[0][10].ToString();
                    txtpass.Text = dtable.Rows[0][11].ToString();
                    ddlcountry.SelectedItem.Text = dtable.Rows[0][5].ToString();
                    ddlstate.SelectedItem.Text = dtable.Rows[0][6].ToString();
                    // This code used for fill three DDL ......................
                    DateTime u_date = Convert.ToDateTime(dtable.Rows[0][3]);
                    ddl_day.SelectedValue = u_date.Day.ToString();
                    ddl_month.SelectedValue = u_date.Month.ToString();
                    ddl_year.SelectedValue = u_date.Year.ToString();

                    string chkstatus = dtable.Rows[0][4].ToString();
                    if (chkstatus == "Male")
                        RadioButtonList1.Items[0].Selected = true;
                    else
                        RadioButtonList1.Items[1].Selected = true;

                    string hobbyarr = dtable.Rows[0][7].ToString();
                    string[] arrval = hobbyarr.Split(',');
                    for (int i = arrval.GetLowerBound(0); i <= arrval.GetUpperBound(0); i++)
                    {
                        if (arrval[i].ToString() == "Reading")
                        {
                            chkhobby.Items[0].Selected = true;
                        }
                        if (arrval[i].ToString() == "Cricket")
                        {
                            chkhobby.Items[1].Selected = true;
                        }
                        if (arrval[i].ToString() == "Music")
                        {
                            chkhobby.Items[2].Selected = true;
                        }
                    }
                }
            }
            else
            {
                ddlcountry.SelectedValue = "select ccountry";
                string query1 = "select max(Id)+1 from dbo.test_reg";
                dtable = con.sqlSelect(query1);
                txt_id.Text = dtable.Rows[0][0].ToString();
                txt_id.Enabled = false;
            }
        }
        Button1.Attributes.Add("onclick", "return validate()");
    }
    protected void ddldayyear()
    {
        for (int i = 2011; i > 1950; i--)
        {
            ddl_year.Items.Add(i.ToString());
        }
        for (int j = 1; j <= 31; j++)
        {
            ddl_day.Items.Add(j.ToString());
        }
        for (int k = 1; k <= 12; k++)
        {
            ddl_month.Items.Add(k.ToString());
        }
    }
    protected void ddlcountryfill()
    {
        ddlcountry.Items.Clear();
        string query = "Select Country_name from Country_Master";
        conn.Open();
        SqlCommand cmd = new SqlCommand(query, conn);
        SqlDataReader dr = cmd.ExecuteReader();

        while (dr.Read())
        {
            ddlcountry.Items.Add(dr["Country_name"].ToString());
        }
        conn.Close();
    }   
    protected void Button1_Click(object sender, EventArgs e)
    {       
        string bdate = ddl_day.SelectedItem.Text + "/" + ddl_month.SelectedItem.Text + "/" +             
        ddl_year.SelectedItem.Text;
        DateTime dob = Convert.ToDateTime(bdate);
        string gender = RadioButtonList1.SelectedItem.Text;

        uid = Convert.ToInt32(txt_id.Text);
        firstname = txtfname.Text;
        lastname = txtlname.Text;
        country = ddlcountry.SelectedItem.Value;
        state = ddlstate.SelectedItem.Value;

       
        if (chkhobby.Items[0].Selected == true)
        {
            hobby = hobby + "," + chkhobby.Items[0].Text;
        }
        if (chkhobby.Items[1].Selected == true)
        {
            hobby = hobby + "," + chkhobby.Items[1].Text;
        }
        if (chkhobby.Items[2].Selected == true)
        {
            hobby = hobby + "," + chkhobby.Items[2].Text;
        }
        if (hobby != "")
        {
            hobby = hobby.ToString().Substring(1);
        }
        photo = txt_id.Text + ".JPEG";
        FileUpload1.SaveAs(Server.MapPath("~/Image/") + photo);
        email = txtemail.Text;
        uname = txtuname.Text;
        password = txtpass.Text;
       
        if (Session.Count > 1)
        {
            string operation = Session["ope"].ToString();
            if (operation == "Edit")
                procedure_name = "update_procedure";
            else
                procedure_name = "insert_procedure";
        }
        else
        {
            procedure_name = "insert_procedure";
        }
        conn.Open();
        string query2 = "select username from test_reg where username='" + txtuname.Text + "'";
        SqlCommand cmd = new SqlCommand(query2, conn);
        SqlDataReader dr = cmd.ExecuteReader();
        lblavamsg.Text = "";
        if (dr.Read())
        {
            lblavamsg.Text = "Username Exist...!";
            lblavamsg.ForeColor = Color.Red;
        }
        else
        {
            con.sql_insert_data(procedure_name, uid, firstname, lastname, dob, gender, country, state, hobby, photo, email, uname, password);          
            if (procedure_name == "insert_procedure")
                Response.Write("<script>alert('Record added successfuly....!');</script>");
            else
                Response.Write("<script> alert('Record updated successfuly....!'); </script>");

            Server.Transfer("ShowData.aspx");
        }
    }
    protected void ddlcountry_SelectedIndexChanged1(object sender, EventArgs e)
    {
        conn.Open();
        ddlstate.Items.Clear();
        string query2 = "select sn.State_name from State_Master sn, Country_Master cn where cn.Country_id = sn.Country_ID and Country_name ='" + ddlcountry.SelectedItem.Text + "'";
        SqlCommand cmd = new SqlCommand(query2, conn);
        SqlDataReader dr = cmd.ExecuteReader();

        while (dr.Read())
        {
            ddlstate.Items.Add(dr["State_name"].ToString());
        }
        conn.Close();
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        if (Session.Count > 1)
        {
            string operation = Session["ope"].ToString();
            if (operation == "Edit")
                Response.Redirect("ShowData.aspx");
            else       
                Response.Redirect("Login.aspx");
        }
        else
        {
            Response.Redirect("Login.aspx");
        }       
    }
    protected void btncheckava_Click(object sender, EventArgs e)
    {
        conn.Open();
        string query2 = "select username from test_reg where username='"+txtuname.Text+"'";
        SqlCommand cmd = new SqlCommand(query2, conn);
        SqlDataReader dr = cmd.ExecuteReader();       
        lblavamsg.Text = "";
        if (dr.Read())
        {
            lblavamsg.Text = "Username Exist...!";
            lblavamsg.ForeColor = Color.Red;
        }
        else
        {
            if (txtuname.Text != "")
            {
                lblavamsg.Text = "Username avaiable...!";
                lblavamsg.ForeColor = Color.Green;
            }
            else
            {
                lblavamsg.Text = "Please enter username!";
                lblavamsg.ForeColor = Color.Red;
            }
        }
        conn.Close();
    }
    protected void Button3_Click(object sender, EventArgs e)
    {
        string photo1 = txt_id.Text + ".JPEG";
        FileUpload1.SaveAs(Server.MapPath("~/Image/") + photo1);

        Image1.ImageUrl = "Image/" + FileUpload1.PostedFile.FileName;
    }
}

Connection Class With Stored Procedure

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
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.Xml.Linq;
using System.Data.SqlClient;
using System.Collections.Generic;
public class Connection
{
    SqlConnection con = new SqlConnection();
    DataTable dataTable;
    SqlCommand cmd;
    SqlDataAdapter adp;
    public Connection()
    {
        string constring = ConfigurationManager.ConnectionStrings["constrwc"].ToString();
        con.ConnectionString = constring;
    }
    public void sql_insert_data(string procedure_nm, int uid, string fname, string lname, DateTime dob, string gender, string country, string state, string hobby, string photo, string email, string uname, string password)
    {
        try
        {
            con.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText =procedure_nm;

            SqlParameter userid = new SqlParameter("@uid", SqlDbType.Int);
            userid.Value = uid;
            SqlParameter first = new SqlParameter("@firstname", SqlDbType.VarChar);
            first.Value = fname;
            SqlParameter last = new SqlParameter("@lastname", SqlDbType.VarChar);
            last.Value = lname;
            SqlParameter dob1 = new SqlParameter("@dob", SqlDbType.DateTime);
            dob1.Value = dob;
            SqlParameter gender1 = new SqlParameter("@gender", SqlDbType.VarChar);
            gender1.Value = gender;
            SqlParameter country1 = new SqlParameter("@country", SqlDbType.VarChar);
            country1.Value = country;
            SqlParameter state1 = new SqlParameter("@state", SqlDbType.VarChar);
            state1.Value = state;
            SqlParameter hob = new SqlParameter("@hobby", SqlDbType.VarChar);
            hob.Value = hobby;
            SqlParameter image1 = new SqlParameter("@photo", SqlDbType.VarChar);
            image1.Value = photo;
            SqlParameter email1 = new SqlParameter("@email", SqlDbType.VarChar);
            email1.Value = email;
            SqlParameter username = new SqlParameter("@username", SqlDbType.VarChar);
            username.Value = uname;
            SqlParameter pass = new SqlParameter("@password", SqlDbType.VarChar);
            pass.Value = password;
            cmd.Parameters.Add(userid);
            cmd.Parameters.Add(first);
            cmd.Parameters.Add(last);
            cmd.Parameters.Add(dob1);
            cmd.Parameters.Add(gender1);
            cmd.Parameters.Add(country1);
            cmd.Parameters.Add(state1);
            cmd.Parameters.Add(hob);
            cmd.Parameters.Add(email1);
            cmd.Parameters.Add(image1);
            cmd.Parameters.Add(username);
            cmd.Parameters.Add(pass);
            cmd.ExecuteNonQuery();
            con.Close();
        }
        catch(Exception ex)
        {
            throw(ex);
        }
    }
    public void sql_delete_data(int uid)
    {
        try
        {
            con.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "delete_procedure";
            SqlParameter userid = new SqlParameter("@uid", SqlDbType.Int);
            userid.Value = uid;
            cmd.Parameters.Add(userid);
            cmd.ExecuteNonQuery();
            con.Close();
        }
        catch (Exception ex)
        {
            throw (ex);
        }
    }
    public DataTable sqlSelect(string query)
    {
        cmd = new SqlCommand(query, con); 
        cmd.CommandType = CommandType.Text;
        adp = new SqlDataAdapter();
        adp.SelectCommand = cmd;
        dataTable = new DataTable();
        adp.Fill(dataTable);
        return dataTable;
    }
    public void sqlInsUpdDel(string query)
    {
        con.Open();
        cmd = new SqlCommand(query,con);      
        cmd.CommandType = CommandType.Text;
        cmd.ExecuteNonQuery();
    }
}