حذف اطلاعات :
همانطور که در مقدمه اشاره کردیم ، معمولا برخی از اطلاعات بانک های اطلاعاتی با گذشت زمان بی اعتبار شده و دیگر نیازی به آنها نیست و باید به طریقی از جداول اطلاعاتی حذف شوند . بنابراین در هنگام کار با یک کنترل داده SqlDataSource ، باید این امکان وجود داشته باشد که بتوانیم اطلاعات مورد نظر خود را از پایگاه داده حذف کنیم .
کنترل SqlDataSource برای حذف اطلاعات از یک جدول بانک اطلاعاتی متصل به آن ، از یک دستور Delete به زبان SQL که در خاصیت DeleteCommand آن تعیین می شود ، استفاده می کند . شما بایستی با توجه به ساختار بانک اطلاعاتی خود و اینکه چه فیلد یا رکوردهایی را در آن می خواهید حذف کنید ، یک دستور Delete به زبان SQL را در خاصیت DeleteCommand کنترل قرار دهید .

این دستور هر بار که کنترل بخواهد از جدول بانک اطلاعاتی داده هایی را حذف کند و یا متد ( ) Delete آن به طریقی فراخوانی شود ، خواند شده و اجرا می گردد .
نکته : همچنین می توان از توابع آماده ( Stored Procedure ) در دستور Delete کنترل استفاده کرد . در این حالت ابتدا باید تابع را طراحی کرده و آن را نام گذاری کنید . سپس مقدار خاصیت DeleteCommand کننرل را با نام تابع آماده طراحی شده مورد نظر مقدار دهی کرد و همچنین مقدار خاصیت DeleteCommandType کنترل را بر روی Stored Procedure تنظیم کنید .

استفاده از پارامترها در دستور Delete خاصیت DeleteCommand :

معمولا هنگامی که می خواهیم اطلاعاتی را از یک جدول بانک اطلاعاتی حذف کنیم ، باید مقدار یک یا چند فیلد رکورد یا رکوردهای مورد نظر را به عنوان نشانه و آدرس ، برای یافتن رکوردهای مورد نظر به دستور Delete خاصیت DeleteCommand کنترل SqlDataSource ارسال کنیم . مثلا فرض کنید که در جدول Students پایگاه داده دانشگاه ، می خواهیم اطلاعات دانشجویانی را حذف کنیم که رشته تحصیلی آنها سخت افزار ( HardWare ) است . بنابراین باید به روشی مقدار فیلد رشته تحصیلی ( فیلد Major ) را که برابر با مقدار ( HardWare ) است را از طریق یک پارامتر به دستور Delete کنترل ارسال کنیم . در این جاست که باید از پارامترها استفاده کرد . معمولا برای دریافت مقادیر فیلدها از کنترل هایی مثل کنترل های کادر متن ( < asp:TextBox > ) در صفحات ASP.NET استفاده می شود . کاربر باید مقادیر لازم برای فیلدها جهت یافتن رکوردهای مورد نظر ، را در کنترل های مربوط وارد کرده و سپس عملیات حذف را با فراخوانی متد ( ) Delete کنترل SqlDataSource انجام دهد .
چنانچه از پارامترهایی در دستور Delete خاصیت DeleteCommand کنترل استفاده کنیم ، باید آنها را در مجموعه پارامترهای عملیات حذف داده کنترل که با تگ < DeleteParameters > در درون تگ کنترل مشخص می شوند ، تعیین کرد . در این مجموعه به ازای هر عدد پارامتر استفاده شده ، یک تگ پارامتر تعیین کرده و مشخصات لازم برای آن را از جمله محل تامین داده ، نوع و … را مشخص سازیم . برای دریافت اطلاعات راجع به نحوه تعیین و استفاده و همچنین انواع پارامترهای موجود در برنامه های ASP.NET به بخش استفاده از پارامترهای ۱ , ۲ بروید .
پس از اینکه پارامترهایی که می خواهیم در دستور DeleteCommand استفاده کنیم را تعیین کردیم ، باید کنترل های لازم را برای دریافت مقادیر پارامترها را بر روی صفحه قرار دهیم . سپس بایستی به یک روش ، متد ( ) Delete کنترل را فراخوانی کنیم . برای این منظور می توان به روش های مختلفی عمل کرد که در اینجا یک نمونه را مثال می زنیم . می توان کد فراخوانی متد ( ) Delete را در رویداد کلیک یک دکمه فرمان ( کنترل < asp:Button > ) قرار دهیم ، که با هر بار کلیک کاربر بر روی آن ، آن رویداد اجرا شده و متد ( ) Delete فراخوانی می شود .
شکل کلی فراخوانی متد ( ) Delete یک کنترل SqlDataSource به صورت زیر است :

      SqlDataSourceنام کنترل .Delete ( ) ;

مثال :   SqlControl1.Delete ( ) ;

برای درک بهتر مطالب ذکر شده به یک مثال اشاره می کنیم .
مثال : در مثال زیر یک کنترل SqlDataSource را به پایگاه داده دانشگاه ( UniverCity ) متصل کرده ایم . این کنترل دارای یک دستور Delete است که آن را در خاصیت DeleteCommand آن تعیین کرده ایم . این دستور برای حذف اطلاعات رکورد مربوط به یک دانشجوی مورد نظر در هر لحظه استفاده می شود . برای اینکه تعیین کنیم که از جدول بانک اطلاعاتی Students در پایگاه داده دانشگاه در هر لحظه مشخصات چه دانشجویی حذف شود ، مقدار نام و نام خواندگی آن دانشجو را به وسیله دو پارامتر D_Name و D_Family که به ترتیب مقادیر خود را از دو کنترل کادر متن Name و Family دریافت می کنند ، به دستور Delete کنترل ارسال می کنیم . سپس به وسیله رویداد کلیک دکمه فرمان Delete Data متد ( ) Delete کنترل اجرا شده و رکورد دانشجویی تعیین شده حذف خواهد شد .
برای کارایی این مثال باید ابتدا اطلاعات نام و نام خواندگی دانشجویی که می خواهید رکورد آن را حذف کنید را در کنترل های کادر متن وارد کرده و سپس بر روی دکمه فرمان Delete Data کلیک کنید :

< asp:SqlDataSource   runat=”server”   ID=”SqlData1″   ConnectionString=”data source = Developer-PC; initial catalog = UniverCity ; Integrated Security = True ”   ProviderName=”System.Data.SqlClient”    SelectCommand=”Select * From Students “
DeleteCommand = ” Delete From Students Where Name = @D_Name   AND   Family = @D_Family ” >
<DeleteParameters>
<asp:ControlParameter   ControlID=”txtName”   Name=”D_Name” PropertyName=”Text” />
<asp:ControlParameter   ControlID=”txtFamily”   Name=”D_Family” PropertyName=”Text” />
</DeleteParameters>
</asp:SqlDataSource><asp:TextBox   runat=”server”   ID=”txtName”   Width=”80px” />
<asp:TextBox   runat=”server”   ID=”txtFamily”   Width=”80px” />
<asp:Button runat=”server”   ID=”Btn” Text=”Delete Data”   OnClick=”Btn_Click” />

نکته : همچنین باید کد فراخوانی متد ( ) Delete کنترل SqlDataSource را در رویداد کلیک دکمه فرمان Btn در فایل کد صفحه ASP.NET خود قرار دهید :

 protected void Btn_Click (object source, EventArgs e)
{
SqlData1.Delete( ) ;
}