حذف کردن آیتم انتخابی از ListBox با پایگاه داده در Asp.net
پنجشنبه 7 آبان 1394در این مقاله می خواهیم در مورد حذف کردن آیتم موردن نظر از لیست باکس و افزودن آن به لیست باکس مورد نظر به کمک پایگاه داده در 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]); } } } }
- ASP.net
- 2k بازدید
- 3 تشکر