Record Deleting in ASP.NET Project

Record Deleting in ASP.NET Project – किसी Record को Delete करना उसे Update करने के समान ही होता है और हमें लगभग सभी Steps को समान प्रकार से ही Follow करना होता है, जिन्हें हमने Record को Update करते समय Follow किया था।

यानी सबसे पहले हम एक SqlDataSource Control Create करते हैं, और उसके DeleteCommand को Specify करते हैं, जो कि वास्तव में DeleteQuery Property में Specified एक DELETE SQL Statement होता है। जबकि पिछले Section में Discuss किए अनुसार हम Concurrency Issue से बचने के लिए ConflictDetection Property को CompareAllValues Property से भी Set कर सकते हैं।

इस Record Deleting के Concept को समझने के लिए भी हम पिछले Example की तरह ही एक Example Create कर सकते हैं, जिसमें हम सबसे पहले एक SqlDataSource Control को अपने Webpage पर Place करते हैं और उसकी निम्न Properties को Set करते हैं:

Property Value
ID sourceProducts
ConnectionString Northwind(Data Source=.;Initial Catalog=Northwind;Integrated Security=True)
SelectCommandType Text
SelectQuery SELECT * FROM Products

ये Properties हमारे SqlDataSource Control को Products Table के Records को Render करने के लिए तो उपयोगी है, लेकिन यदि हम अपने SqlDataSource Control द्वारा Records को Update भी करना चाहें, तो हमें निम्नानुसार UpdateCommandType UpdateQuery Properties को भी Set करना होगा, जैसाकि पिछले Example में किया था:

Property Value
UpdateCommandType Text
UpdateQuery UPDATE Products SET
   ProductName = @ProductName,
   SupplierID = @SupplierID,
   CategoryID = @CategoryID,
   QuantityPerUnit = @QuantityPerUnit,
   UnitPrice = @UnitPrice,
   UnitsInStock = @UnitsInStock,
   UnitsOnOrder = @UnitsOnOrder,
   ReorderLevel = @ReorderLevel,
   Discontinued = @Discontinued
WHERE ProductID = @ProductID

लेकिन साथ ही हम अपने किसी Rendered Record को Delete करने की क्षमता भी प्राप्त करना चाहते हैं, इसलिए हमें DeleteCommandType DeleteQuery Properties को भी निम्नानुसार Specify करना होता है:

Property Value
DeleteCommandType Text
DeleteQuery DELETE Products WHERE ProductID = @ProductID

जब एक बार हम हमारे SqlDataSource Control के लिए उपरोक्तानुसार DeleteCommandType DeleteQuery Properties को Set कर देते हैं, उसके बाद जब हम अपने GridView Control के Popup को देखते हैं, तो उसमें निम्न चित्रानुसार “Enable Deleting” नाम का नया Checkbox भी Add हो चुका होता है, जिसे Check करते ही हमारे GridView Control में हर Record की शुरूआत में “Edit” के साथ ही “Delete” नाम का Hyperlink भी Render होने लगता है:

Record Deleting in ASP.NET Project - CRUID Operations in Hindi

परिणामस्वरूप इस बार जब हम हमारे Webpage को Run करते हैं, तो हमें हमारा Resultant Output निम्नानुसार दिखाई देता है:

Record Deleting in ASP.NET Project - CRUID Operations in Hindi

जब हम किसी Record को Delete करना चाहते हैं, तब हमें इस बात का भी ध्‍यान रखना जरूरी होता है कि Delete किए जाने वाले Record से Associated कोई Master या Detail Record न हो यानी Delete किया जाने वाला Record किसी अन्‍य Record के साथ Referential Integrity में न हो, अन्‍यथा Underlying Database Delete Operation को Reject कर देता है।

इसलिए बेहतर यही होता है कि पिछले Section में Insert किए गए Record को ही इस Webpage द्वारा Delete करने की कोशिश करनी चाहिए, क्‍योंकि यदि हम Northwind Table के किसी अन्‍य Product को Delete करने की कोशिश करेंगे, तो हमें Error Face करना पडेगा।

जब हम हमारे इस Example के लिए Visual Studio द्वारा Generate किए गए Markups को देखते हैं, तो ये कुछ निम्नानुसार होता है:

File Name: RecordUpdating.asxp

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DataUpdating.aspx.cs" Inherits="DataUpdate.DataUpdating" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:SqlDataSource
         ID="sourceProducts" runat="server"
         ConnectionString="<%$ ConnectionStrings:Northwind %>"
         SelectCommand="SELECT * FROM Products"
         UpdateCommand="
            UPDATE Products SET 
               ProductName = @ProductName, SupplierID = @SupplierID,
               CategoryID = @CategoryID, QuantityPerUnit = @QuantityPerUnit,
               UnitPrice = @UnitPrice, UnitsInStock = @UnitsInStock,
               UnitsOnOrder = @UnitsOnOrder, ReorderLevel = @ReorderLevel,
               Discontinued = @Discontinued
            WHERE 
               ProductID = @ProductID AND
               ProductName = @original_ProductName AND
               SupplierID = @original_SupplierID AND
               CategoryID = @original_CategoryID AND
               QuantityPerUnit = @original_QuantityPerUnit AND
               UnitPrice = @original_UnitPrice AND
               UnitsInStock = @original_UnitsInStock AND
               UnitsOnOrder = @original_UnitsOnOrder AND
               ReorderLevel = @original_ReorderLevel AND
               Discontinued = @original_Discontinued"
         ConflictDetection="CompareAllValues"
         OldValuesParameterFormatString="original_{0}"
         DeleteCommand=
           "DELETE FROM Products WHERE ProductID = @original_ProductID"
       ></asp:SqlDataSource>
        <br />
        <asp:GridView ID="GridView1" runat="server"
         DataSourceID="sourceProducts"
         AutoGenerateColumns="False"
         AutoGenerateDeleteButton="True"
         AutoGenerateEditButton="True"
         DataKeyNames="ProductID"
       >
            <Columns>
                <asp:BoundField DataField="ProductID" HeaderText="ProductID"
                  ReadOnly="True" SortExpression="ProductID" InsertVisible="False" />
                <asp:BoundField DataField="ProductName" HeaderText="ProductName"
                  SortExpression="ProductName" />
                <asp:BoundField DataField="SupplierID" HeaderText="SupplierID"
                  SortExpression="SupplierID" />
                <asp:BoundField DataField="CategoryID" HeaderText="CategoryID"
                  SortExpression="CategoryID" />
                <asp:BoundField DataField="QuantityPerUnit"
                  HeaderText="QuantityPerUnit" SortExpression="QuantityPerUnit" />
                <asp:BoundField DataField="UnitPrice" HeaderText="UnitPrice"
                  SortExpression="UnitPrice" />
                <asp:BoundField DataField="UnitsInStock" HeaderText="UnitsInStock"
                  SortExpression="UnitsInStock" />
                <asp:BoundField DataField="UnitsOnOrder" HeaderText="UnitsOnOrder"
                  SortExpression="UnitsOnOrder" />
                <asp:BoundField DataField="ReorderLevel" HeaderText="ReorderLevel"
                  SortExpression="ReorderLevel" />
                <asp:CheckBoxField DataField="Discontinued" HeaderText="Discontinued"
                  SortExpression="Discontinued" />
            </Columns>
        </asp:GridView>
    </div>
    </form>
</body>
</html>
Record Inserting in ASP.NET Project
SqlDataSource Disadvantages - ASP.NET

Advance ASP.NET WebForms with C# in Hindi - BccFalna.com: TechTalks in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Advance ASP.NET WebForms with C# in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।

Advance ASP.NET WebForms in Hindi | Page:707 | Format: PDF

BUY NOW GET DEMO REVIEWS