حذف کردن آیتم انتخابی از ListBox با پایگاه داده در Asp.net

پنجشنبه 7 آبان 1394

در این مقاله می خواهیم در مورد حذف کردن آیتم موردن نظر از لیست باکس و افزودن آن به لیست باکس مورد نظر به کمک پایگاه داده در asp.net صحبت کنیم.

حذف کردن آیتم انتخابی از ListBox با پایگاه داده در Asp.net

مرحله اول:درست کردن Stored Procedure و درست کردن جدول مورد نظر است به صورت زیر :

Create table Mas_Employee  
(    
    Id int primary key identity(1,1),    
    Name nvarchar(50)  
)    
  
--To get all the employees  
Create Procedure USP_Select_Mas_Employee    
@Id int = null    
AS    
Begin    
    Select E.Id, E.Name    
    From Mas_Employee E    
    Where Id = Isnull(@Id, Id)    
End   
  
--To Insert employee details  
Create Procedure USP_Insert_Mas_Employee  
@Name nvarchar(50)   
AS    
Begin    
    Insert into Mas_Employee(Name) Values(@Name)    
End   
  
--To Delete employee details  
Create Procedure USP_Delete_Mas_Employee    
@Id int    
AS    
Begin    
    Delete From Mas_Employee    
    where Id=@Id    
End 

مرحله دوم:درست کردن پروژه از نوع Asp.net Empty است ، شما نرم افزار Visual را باز کرده و یک پروژه جدید ایجاد کنید.

مکان ونام پروژه را به صورت دلخواه خود اسم وآدرس دهی کنید.

مرحله سوم:داخل web.config قطعه کد مورد نظر زیر را بنویسید:

  <connectionStrings>
      <add name="conStr"  
   connectionString="Password= 123; User ID=sa; Database=Employee; Data Source=."  
   providerName="System.Data.SqlClient"/> 
  </connectionStrings>

مرحله چهارم:روی پروژه راست کلیک کرده و یک webform را ایجاد کنید.

قطعه کد مورد نظر را در DesignUI وارد کنید:

<body dir="rtl">
    <form id="form1" runat="server">
        <h3 class="a"><a href="http://barnamenevisan.org/">مرجع تخصصی برنامه نویسان</a></h3>
    <div>
     <div style="width: 100%;" align="center">
         
            <fieldset style="width: 40%;">  
              
                <table style="width: 100%;">  
                    <tr>  
                        <td>  
                            نام:  
                        </td>  
                        <td>  
                            <asp:TextBox ID="txtEmpName" runat="server"></asp:TextBox>  
                        </td>  
                        <td>  
                            <asp:Button ID="btnAdd" runat="server" Text="افزودن" OnClick="btnAdd_Click" />  
                        </td>  
                    </tr>  
                    <tr>  
                        <td colspan="3" style="text-align:center;">  
                            <asp:Label ID="lblMsg" runat="server"></asp:Label>  
                        </td>  
                    </tr>  
                    <tr>  
                          
                        <td colspan="2">  
                            <asp:ListBox ID="lstEmployee" runat="server"></asp:ListBox>  
                        </td>  
                        <td>  
                            <asp:Button ID="btnDelete" runat="server" Text="حذف آیتم انتخابی" OnClick="btnDelete_Click" />  
                        </td>  
                    </tr>  
                </table>  
            </fieldset>  
        </div>  
    </div>
    </form>
</body>

Namespace های مورد نظر را به پروژه ی خود اضافه کنید:

using System.Data;  
using System.Data.SqlClient;  
using System.Configuration;  
using System.Drawing;

مرحله پنجم:وارد Code Behind صفحه شوید و قطعه کد اتصال به دیتابیس خود را بنویسید قبل از رویداد Page Load

  SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["conStr"].ConnectionString);

مرحله ششم:رویداد حذف و اضافه و انتخاب کردن و Bind کردن Listbox را بنویسید.

  private void Clear()
        {
            txtEmpName.Text = string.Empty;
            lblMsg.Text = string.Empty;
        }

        //To bind listBox from Database  
        private void BindListBox()
        {
            SqlDataAdapter adp = new SqlDataAdapter("USP_Select_Mas_Employee", con);
            adp.SelectCommand.CommandType = CommandType.StoredProcedure;
            DataSet ds = new DataSet();
            adp.Fill(ds);
            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                lstEmployee.DataSource = ds;
                lstEmployee.DataValueField = "Id";
                lstEmployee.DataTextField = "Name";
                lstEmployee.DataBind();
            }
        }

        //To delete the selected item from Database  
        private void DeleteSelectedItem(int Id)
        {
            SqlCommand cmd = new SqlCommand("USP_Delete_Mas_Employee", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@Id", Id);
            if (con.State == ConnectionState.Closed)
            {
                con.Open();
            }
            int result = cmd.ExecuteNonQuery();
            if (result > 0)
            {
                Clear();
                //BindListBox();  
                lblMsg.Text = "کارمند مورد نظر حذف شد";
                lblMsg.ForeColor = Color.Green;
            }
        }

        //To add the employee from textbox to listBox  
        private void AddEmployee(string Name)
        {
            SqlCommand cmd = new SqlCommand("USP_Insert_Mas_Employee", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@Name", Name);
            if (con.State == ConnectionState.Closed)
            {
                con.Open();
            }
            int result = cmd.ExecuteNonQuery();
            if (result > 0)
            {
                Clear();
                BindListBox();
                lblMsg.Text = "کارمند مورد نظر اضافه شد";
                lblMsg.ForeColor = Color.Green;
            }
        }

مرحله آخر:قطعه کد برای دکمه های حذف کردن از listbox و افزودن به listbox را هم به صورت زیر بنویسید:

 protected void Page_Load(object sender, EventArgs e)
        {
            lblMsg.Text = string.Empty;
            if (!Page.IsPostBack)
            {
                BindListBox();
            }  

        }
  protected void btnAdd_Click(object sender, EventArgs e)
        {
            if (txtEmpName.Text.ToString() != string.Empty || txtEmpName.Text.ToString() != null)
            {
                 
                 AddEmployee(txtEmpName.Text.ToString());
                
            }
            else
            {
                lblMsg.Text = "Please provide the Name";
                lblMsg.ForeColor = Color.Red;
                return;  
            }
         
       }

        protected void btnDelete_Click(object sender, EventArgs e)
        {
            if (Convert.ToInt32(lstEmployee.SelectedValue) < 0)
            {
                lblMsg.Text = "یک آیتم را لطفا انتخاب نمایید";
                lblMsg.ForeColor = Color.Red;
                return;
            }
            else
            {
                for (int i = lstEmployee.Items.Count - 1; i >= 0; i--)
                {
                    if (lstEmployee.Items[i].Selected)
                    {
                        DeleteSelectedItem(Convert.ToInt32(lstEmployee.Items[i].Value));
                        lstEmployee.Items.Remove(lstEmployee.Items[i]);
                    }
                }
            } 
        }  

 

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید