hi my name is vishal i was wondering on how to delete checked items in listview and once deleted should also be deleted from table in sql server from c# windows forms with sql server2008?
i have a listview named:
lstSearch in my form named:
frmSearchDialyzer. Given below is my form code in c#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace DRRS_CSharp
{
public partial class frmSearchDialyzer : Form
{
public frmSearchDialyzer()
{
InitializeComponent();
this.lstSearch.DoubleClick += new System.EventHandler(this.lstSearch_DoubleClick);
}
private void lstSearch_DoubleClick(object sender, EventArgs e)
{
if (MessageBox.Show("Are you sure to delete this dialyzer information?", "DRRS", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK)
{
foreach (ListViewItem ld in lstSearch.SelectedItems)
{
lstSearch.Items.Remove(ld);
}
}
}
private void btnSearch_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("Data Source=NPD-4\\SQLEXPRESS;Initial Catalog=DRRS;Integrated Security=true");
lstSearch.Items.Clear();
DataTable dt = new DataTable();
SqlCommand cmd = new SqlCommand();
DataSet ds;
SqlDataAdapter adp = new SqlDataAdapter();
lstSearch.Columns.Add("DialyzerID", 140, HorizontalAlignment.Left);
lstSearch.Columns.Add("Manufacturer", 260, HorizontalAlignment.Left);
lstSearch.Columns.Add("Size", 95, HorizontalAlignment.Center);
lstSearch.Columns.Add("PackedVolume", 87, HorizontalAlignment.Center);
lstSearch.Columns.Add("Patient Name", 170, HorizontalAlignment.Right);
lstSearch.Visible = true;
lstSearch.View = View.Details;
lstSearch.GridLines = true;
if (txtDialyzerID.Text.Trim() != "")
{
cmd = new SqlCommand("Select d.dialyserID,d.manufacturer,d.dialyzer_size,d.packed_volume,p.patient_first_name+' '+p.patient_last_name as patient_name from dialyser d,patient_name p where p.patient_id=d.patient_id and d.dialyserID=" + txtDialyzerID.Text.Trim() + "", conn);
adp = new SqlDataAdapter(cmd);
ds = new DataSet();
adp.Fill(ds, "dialyser" + "patient_name");
dt = ds.Tables["dialyser" + "patient_name"];
}
else if (txtManufacturer.Text.Trim() != "")
{
cmd = new SqlCommand("Select d.dialyserID,d.manufacturer,d.dialyzer_size,d.packed_volume,p.patient_first_name+' '+p.patient_last_name as patient_name from dialyser d,patient_name p where p.patient_id=d.patient_id and d.manufacturer like '%" + (txtManufacturer.Text.Trim()) + "%'", conn);
adp = new SqlDataAdapter(cmd);
ds = new DataSet();
adp.Fill(ds, "dialyser" + "patient_name");
dt = ds.Tables["dialyser" + "patient_name"];
}
for (int i = 0; i < dt.Rows.Count; i++)
{
lstSearch.Items.Add(dt.Rows[i].ItemArray[0].ToString());
lstSearch.Items[i].SubItems.Add(dt.Rows[i].ItemArray[1].ToString());
lstSearch.Items[i].SubItems.Add(dt.Rows[i].ItemArray[2].ToString());
lstSearch.Items[i].SubItems.Add(dt.Rows[i].ItemArray[3].ToString());
lstSearch.Items[i].SubItems.Add(dt.Rows[i].ItemArray[4].ToString());
}
}
private void btnRemove_Click(object sender, EventArgs e)
{
foreach (ListViewItem ls in lstSearch.CheckedItems)
{
lstSearch.Items.Remove(ls);
}
}
I have enabled
CheckBoxes property of my listview named:
lstSearch to
true
Given below is structure of my table named:
dialyser in sql server2008:
ColumnName DataType AllowNulls
mfr_ref_number nvarchar(20) Yes
mfr_lot_number nvarchar(20) Yes
mfr_date date Yes
exp_date date Yes
packed_volume Int Yes
patient_id Int Yes
start_date datetime Yes
end_date datetime Yes
row_upd_date datetime Yes
manufacturer nvarchar(50) Yes
dialyzer_size nvarchar(20) Yes
deleted_status bit Yes
deleted_date datetime Yes
dialyserID nvarchar(20) Yes
closed_status bit Yes
closed_date datetime Yes
What i want is when user checks some items present in listview(lstSearch) and then press/click
btnRemove in form:
frmSearchDialyzer then only the
checked items must not only be removed from listview(lstSearch) but also from table named:
dialyzer in sql server2008. I am aware that i have to use delete command in
btnRemove_Click event in
frmSearchDialyzer in achieving the required result but i dont know how to use it with
CheckedItems in my listview(
lstSearch) in
frmSearchDialyzer. Can anyone help me please? Any help/guidance in solving of this problem would be greatly appreciated.!