ObjectDataSource and DetailsView

(ASP.NET)


Tools Used: Visual Studio 2013 Express, SQL Server 2012/2008 Express and .NET Framework 4.5

I used object data source control with details view to perform crud operations. Regarding the details of object data source control read "object datasource control and gridview" article. 



.aspx page


        <asp:DetailsView ID="dtlsvw_customers" AllowPaging="True"  DataKeyNames="Id" DataSourceID="objds_customers" AutoGenerateDeleteButton="True" AutoGenerateInsertButton="True" AutoGenerateEditButton="True" 
            runat="server" Height="50px" Width="125px">
        </asp:DetailsView>

        <asp:ObjectDataSource ID="objds_customers" OnInserted="objds_customers_Inserted"
             OnUpdated="objds_customers_Updated"
             OnDeleted="objds_customers_Deleted"
             InsertMethod="InsertCustomer" DeleteMethod="DeleteCustomer" UpdateMethod="UpdateCustomers"
             TypeName="DetailsView_ObjectDataSource.App_Code.CustomersDAL" SelectMethod="GetCustomers" 
            runat="server"></asp:ObjectDataSource>


DAL Class

namespace DetailsView_ObjectDataSource.App_Code
{
    public class CustomersDAL
    {
        public CustomersDAL()
        { }


        public DataTable GetCustomers()
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["CustomersConn"].ToString()))
                {

                    conn.Open();
                    string sqlQuery = "SELECT Id, CustomerID, CompanyName, ContactName, City, PostalCode, Country FROM Customers";
                    SqlDataAdapter adptr = new SqlDataAdapter(sqlQuery, conn);
                    DataTable dt = new DataTable("Customers");
                    adptr.Fill(dt);
                    return dt;
                }
            }
            catch (Exception)
            { }

            return null;
        }


        public int UpdateCustomers(int Id, string CustomerID, string CompanyName, string ContactName, string City, string PostalCode, string Country)
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["CustomersConn"].ToString()))
                {

                    conn.Open();
                    string sqlQuery = "UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName, ContactName = @ContactName, City = @City, PostalCode = @PostalCode, Country = @Country WHERE Id = @Id";
                    SqlCommand cmd = new SqlCommand(sqlQuery, conn);

                    cmd.Parameters.AddWithValue("@Id", Id);
                    cmd.Parameters.AddWithValue("@CustomerID", CustomerID);

                    cmd.Parameters.AddWithValue("@CompanyName", CompanyName);
                    cmd.Parameters.AddWithValue("@ContactName", ContactName);

                    cmd.Parameters.AddWithValue("@City", City);
                    cmd.Parameters.AddWithValue("@PostalCode", PostalCode);
                    cmd.Parameters.AddWithValue("@Country", Country);

                    int rowsAffected = 0;

                    rowsAffected = cmd.ExecuteNonQuery();

                    return rowsAffected;
                }
            }
            catch (Exception)
            { }

            return 0;
        }


        public int InsertCustomer(int Id,string CustomerID, string CompanyName, string ContactName, string City, string PostalCode, string Country)
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["CustomersConn"].ToString()))
                {

                    conn.Open();
                    string sqlQuery = "INSERT INTO Customers(CustomerID,CompanyName,ContactName,City,PostalCode,Country) VALUES(@CustomerID,@CompanyName,@ContactName,@City,@PostalCode,@Country)";
                    SqlCommand cmd = new SqlCommand(sqlQuery, conn);

               
                    cmd.Parameters.AddWithValue("@CustomerID", CustomerID);

                    cmd.Parameters.AddWithValue("@CompanyName", CompanyName);
                    cmd.Parameters.AddWithValue("@ContactName", ContactName);

                    cmd.Parameters.AddWithValue("@City", City);
                    cmd.Parameters.AddWithValue("@PostalCode", PostalCode);
                    cmd.Parameters.AddWithValue("@Country", Country);

                    int rowsAffected = 0;

                    rowsAffected = cmd.ExecuteNonQuery();

                    return rowsAffected;
                }
            }
            catch (Exception)
            { }

            return 0;
        }

        public int DeleteCustomer(int Id)
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["CustomersConn"].ToString()))
                {

                    conn.Open();
                    string sqlQuery = "DELETE FROM Customers WHERE Id = @Id";
                    SqlCommand cmd = new SqlCommand(sqlQuery, conn);
                    cmd.Parameters.AddWithValue("@Id", Id);

                    int rowsAffected = 0;

                    rowsAffected = cmd.ExecuteNonQuery();

                    return rowsAffected;

                }
            }
            catch (Exception)
            { }

            return 0;
        }



    }
}
Codebehind/.cs file

  protected void objds_customers_Inserted(object sender, ObjectDataSourceStatusEventArgs e)
        {
            try
            {
                if((int)e.ReturnValue == 0)
                {
                    lbl_result.Text = "Insertion failed, please try later.";
                    lbl_result.ForeColor = Color.Red;
                }
                else
                {
                    lbl_result.Text = "Customer added successfully.";
                    
                }
            }
            catch(Exception)
            { }
        }

        protected void objds_customers_Updated(object sender, ObjectDataSourceStatusEventArgs e)
        {
            try
            {
                if ((int)e.ReturnValue == 0)
                {
                    lbl_result.Text = "Updation failed, please try later.";
                    lbl_result.ForeColor = Color.Red;
                }
                else
                {
                    lbl_result.Text = "Customer updated successfully.";
                   
                }
            }
            catch (Exception)
            { }
        }

        protected void objds_customers_Deleted(object sender, ObjectDataSourceStatusEventArgs e)
        {
            try
            {
                if ((int)e.ReturnValue == 0)
                {
                    lbl_result.Text = "Deletion failed, please try later.";
                    lbl_result.ForeColor = Color.Red;
                }
                else
                {
                    lbl_result.Text = "Customer deleted successfully.";

                }
            }
            catch (Exception)
            { }
        }


Ratings


Average Rating: 0.00 by 0 users
Giri Prasad
5/21/2014
5/21/2014
Download PDF
Download Project

Comments