حذف کردن آیتم انتخابی از 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 تشکر