Record Inserting in ASP.NET Project

Record Inserting in ASP.NET Project – हालांकि GridView Control Records की Editing, Deleting Selecting को तो Support करता है, लेकिन नया Record Insert करने के लिए हम GridView Control को Use नहीं कर सकते, बल्कि Record Insertion के लिए हमें DetailsView या FormView Control को Use करना पडता है।

यहां भी Record Insertion से सम्बंधित Basic Process समान ही है, जहां सबसे पहले हमें Newly Insert किए जाने वाले Record से सम्बंधित INSERT SQL Statement को SqlDataSource Control की InsertQuery Property में Assign करना होता है और ये काम हम हमारे SqlDataSource की निम्न Properties को Set करते हुए करते हैं:

Property Value
ID sourceProducts
ConnectionString Northwind (Data Source=.;Initial Catalog=Northwind;Integrated Security=True)
SelectCommandType Text
SelectQuery SELECT * FROM Products
InsertCommandType Text
InsertQuery INSERT INTO Products(
      ProductName, SupplierID, CategoryID,
      QuantityPerUnit, UnitPrice, UnitsInStock,
      UnitsOnOrder, ReorderLevel, Discontinued
   )
VALUES (
      @ProductName, @SupplierID, @CategoryID,
      @QuantityPerUnit, @UnitPrice, @UnitsInStock,
      @UnitsOnOrder, @ReorderLevel, @Discontinued
   )

SqlDataSource Control की विभिन्न Properties को उपरोक्तानुसार Specify करके अब हम इस Control में आने वाले Records को FormView Control के साथ Bind कर सकते हैं, ताकि हम हमारी जरूरत के अनुसार नए Products की Information को Underlying Products Table में Insert कर सकें और इस Control को Bind करने के लिए हम Visual Studio में निम्न चित्रानुसार Setting कर सकते हैं:

Record Inserting in ASP.NET Project - ITeBooks in Hindi

जैसे ही हम हमारे FormView Control के लिए “Choose Data Source:” Combobox में sourceProducts ID वाले SqlDataSource Control को Select करते हैं, हमारा FormView Control निम्न चित्रानुसार Update हो जाता है:

Record Inserting in ASP.NET Project - ITeBooks in Hindi

अब यदि हम हमारे इस Webpage को Run करें, तो हमारे सामने निम्नानुसार Page Display होता है:

Record Inserting in ASP.NET Project - ITeBooks in Hindi

जहां दिखाई देने वाले “New” Hyperlink पर Click करते ही हमारे सामने निम्न चित्रानुसार नया Record Insert करने से सम्बंधित विभिन्न TextBox Controls Render होने लगते हैं:

Record Inserting in ASP.NET Project - ITeBooks in Hindi

इस Form पर अपने नए Product की विभिन्न Information Fill करके जैसे ही हम “Insert” Hyperlink पर Click करते हैं, हमारा Newly Created Record, Underlying Database में Save हो जाता है और हमारे सामने फिर से पिछला Screen Show होने लगता है।

उपरोक्त चित्र में हम देख सकते हैं कि नया Record Insert करते समय हमने नए Product का ProductID Specify नहीं किया है, क्‍योंकि ProductID Generate करने का काम Underlying Database का होता है, इसलिए यदि हम यहां पर किसी ProductID को Specify करते हैं, तो हमें Error Face करना पडता है।

हालांकि हम उपरोक्तानुसार Steps Follow करते हुए ऐसा Webpage Create कर सकते हैं, जो कि Underlying Products Table में नया Record Insert करने में सक्षम है और इस जरूरत को पूरा करने के लिए INSERT SQL Query Specify करने के अलावा हमने कोई भी Manual Program Logic नहीं लिखा है। फिर भी ASP.NET Framework स्वयं अपने स्तर पर हमारे लिए स्वयं विभिन्न जरूरी Markups Create करता है, जो कि निम्नानुसार होते हैं:

File Name: RecordInserting.asxp

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="NewRecord.aspx.cs" Inherits="InsertRecord.NewRecord" %>
<!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 %>"
         InsertCommand="INSERT INTO Products(
                                                ProductName, SupplierID, CategoryID,
                                                QuantityPerUnit, UnitPrice, UnitsInStock,
                                                UnitsOnOrder, ReorderLevel, Discontinued)
                                       VALUES (
                                                @ProductName, @SupplierID, @CategoryID,
                                                @QuantityPerUnit, @UnitPrice, @UnitsInStock,
                                                @UnitsOnOrder, @ReorderLevel, @Discontinued)"
         SelectCommand="SELECT * FROM Products"
       ></asp:SqlDataSource>

        <br />

        <asp:FormView ID="FormView1"
         runat="server" DataKeyNames="ProductID" DataSourceID="sourceProducts">
            <EditItemTemplate>
                ProductID:
                <asp:Label ID="ProductIDLabel1"
                  runat="server" Text='<%# Eval("ProductID") %>' /><br />
               ProductName:
                <asp:TextBox ID="ProductNameTextBox"
                  runat="server" Text='<%# Bind("ProductName") %>' /><br />

               SupplierID:
                <asp:TextBox ID="SupplierIDTextBox"
                  runat="server" Text='<%# Bind("SupplierID") %>' /><br />

               CategoryID:
                <asp:TextBox ID="CategoryIDTextBox"
                  runat="server" Text='<%# Bind("CategoryID") %>' /><br />

               QuantityPerUnit:
                <asp:TextBox ID="QuantityPerUnitTextBox"
                  runat="server" Text='<%# Bind("QuantityPerUnit") %>' /><br />

               UnitPrice:
                <asp:TextBox ID="UnitPriceTextBox"
                  runat="server" Text='<%# Bind("UnitPrice") %>' /><br />

               UnitsInStock:
                <asp:TextBox ID="UnitsInStockTextBox"
                  runat="server" Text='<%# Bind("UnitsInStock") %>' /><br />

               UnitsOnOrder:
                <asp:TextBox ID="UnitsOnOrderTextBox"
                  runat="server" Text='<%# Bind("UnitsOnOrder") %>' /><br />

               ReorderLevel:
                <asp:TextBox ID="ReorderLevelTextBox"
                  runat="server" Text='<%# Bind("ReorderLevel") %>' /><br />

               Discontinued:
                <asp:CheckBox ID="DiscontinuedCheckBox"
                  runat="server" Checked='<%# Bind("Discontinued") %>' /><br />

               CategoryName:
                <asp:TextBox ID="CategoryNameTextBox"
                  runat="server" Text='<%# Bind("CategoryName") %>' /><br />

               <asp:LinkButton
               ID="UpdateButton" runat="server"
               CausesValidation="True" CommandName="Update" Text="Update" />
               &nbsp;<asp:LinkButton ID="UpdateCancelButton" runat="server"
               CausesValidation="False" CommandName="Cancel" Text="Cancel" />
            </EditItemTemplate>
           <InsertItemTemplate>
                ProductID:
                <asp:TextBox ID="ProductIDTextBox"
                  runat="server" Text='<%# Bind("ProductID") %>' /><br />

               ProductName:
                <asp:TextBox ID="ProductNameTextBox"
                  runat="server" Text='<%# Bind("ProductName") %>' /><br />

               SupplierID:
                <asp:TextBox ID="SupplierIDTextBox"
                  runat="server" Text='<%# Bind("SupplierID") %>' /><br />

               CategoryID:
                <asp:TextBox ID="CategoryIDTextBox"
                  runat="server" Text='<%# Bind("CategoryID") %>' /><br />
               QuantityPerUnit:
                <asp:TextBox ID="QuantityPerUnitTextBox"
                  runat="server" Text='<%# Bind("QuantityPerUnit") %>' /><br />
               UnitPrice:
                <asp:TextBox ID="UnitPriceTextBox"
                  runat="server" Text='<%# Bind("UnitPrice") %>' /><br />

               UnitsInStock:
                <asp:TextBox ID="UnitsInStockTextBox"
                  runat="server" Text='<%# Bind("UnitsInStock") %>' /><br />

               UnitsOnOrder:
                <asp:TextBox ID="UnitsOnOrderTextBox"
                  runat="server" Text='<%# Bind("UnitsOnOrder") %>' /><br />

               ReorderLevel:
                <asp:TextBox ID="ReorderLevelTextBox"
                  runat="server" Text='<%# Bind("ReorderLevel") %>' /><br />

               Discontinued:
                <asp:CheckBox ID="DiscontinuedCheckBox"
                  runat="server" Checked='<%# Bind("Discontinued") %>' /><br />
               CategoryName:
                <asp:TextBox ID="CategoryNameTextBox"
                  runat="server" Text='<%# Bind("CategoryName") %>' /><br />

               <asp:LinkButton ID="InsertButton" runat="server"
                  CausesValidation="True" CommandName="Insert" Text="Insert" />
              <asp:LinkButton ID="InsertCancelButton" runat="server"
                  CausesValidation="False" CommandName="Cancel" Text="Cancel" />
            </InsertItemTemplate>
            <ItemTemplate>
               ProductID:
                <asp:Label ID="ProductIDLabel"
                  runat="server" Text='<%# Eval("ProductID") %>' /><br />

               ProductName:
                <asp:Label ID="ProductNameLabel"
                  runat="server" Text='<%# Bind("ProductName") %>' /><br />
               SupplierID:
                <asp:Label ID="SupplierIDLabel"
                  runat="server" Text='<%# Bind("SupplierID") %>' /><br />
               CategoryID:
                <asp:Label ID="CategoryIDLabel"
                  runat="server" Text='<%# Bind("CategoryID") %>' /><br />
               QuantityPerUnit:
                <asp:Label ID="QuantityPerUnitLabel"
                  runat="server" Text='<%# Bind("QuantityPerUnit") %>' /><br />
               UnitPrice:
                <asp:Label ID="UnitPriceLabel"
                  runat="server" Text='<%# Bind("UnitPrice") %>' /><br />

               UnitsInStock:
                <asp:Label ID="UnitsInStockLabel"
                  runat="server" Text='<%# Bind("UnitsInStock") %>' /><br />

               UnitsOnOrder:
                <asp:Label ID="UnitsOnOrderLabel"
                  runat="server" Text='<%# Bind("UnitsOnOrder") %>' /><br />

               ReorderLevel:
                <asp:Label ID="ReorderLevelLabel"
                  runat="server" Text='<%# Bind("ReorderLevel") %>' /><br />

               Discontinued:
               <asp:CheckBox ID="DiscontinuedCheckBox" runat="server"
                 Checked='<%# Bind("Discontinued") %>' Enabled="false" /><br />
                CategoryName:
               <asp:Label ID="CategoryNameLabel"
                 runat="server" Text='<%# Bind("CategoryNam") %>' /><br />

               <asp:LinkButton ID="NewButton" runat="server"
                 CausesValidation="False" CommandName="New" Text="New" />
           </ItemTemplate>
       </asp:FormView>
 
    </div>
    </form>
</body>
</html>

जब हम Record Insertion करने हेतु अपने Webpage को Create करते हैं, तब हमें ConflictDetection OldValuesParameterFormatString Properties को Set करने की जरूरत नहीं होती। क्‍योंकि एक Newly Insert किए जा रहे Record पर इनका कोई Effect नहीं होता।

इसके अलावा हम Bound Data Control को Insertion Support करने के लिए Configure भी कर सकते हैं, जिसके लिए हमें केवल AutoGenerateInsertButton Property को True Set करना होता है।

जब हम Record Insertion करते हैं, तब DetailsView FormView Controls तथा अन्‍य सभी Rich Data Controls को विभिन्न प्रकार की जरूरतों को पूरा करने के लिए Properties Window का प्रयोग करते हुए Configure कर सकते हैं और क्‍योंकि इन Properties को समझना व उपयोग में लेना कोई ज्यादा मुश्किल काम नहीं होता, इसलिए इन Controls के Look and Feel से सम्बंधित Properties को हम यहां और अधिक विस्तार से Discuss नहीं कर रहे हैं।

Record Updating in ASP.NET Project
Record Deleting in ASP.NET Project

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