Quantcast
Channel: Windows Forms Data Controls and Databinding forum
Viewing all articles
Browse latest Browse all 2535

How to remove repetition of same datas from being displayed in listview through sql select query in c# winforms with sql server 2008

$
0
0

Hi my name is vishal i was wondering on how to remove repetition of same datas from being displayed in listview through sql select query in c# winforms with sql server 2008.

So i have developed a search form named:frmUserDetails in which manager can search details of hisemployees(users created by him/her) either by entering their user id or user name(which includes user first name or user last name) oruser dob(date of birth).

Given below is my c# code of form(frmUserDetails) with sql server 2008:

using System.Data.SqlClient;
namespace Mini_Project
{
    public partial class frmUserDetails : Form
    {
        public frmUserDetails()
        {
            InitializeComponent();
        }
private void frmUserDetails_Load(object sender, EventArgs e)
        {

        }
private void btnSearch_Click(object sender, EventArgs e)
        {
            SqlConnection conn = new SqlConnection("Data Source=NPD-4\\SQLEXPRESS;Initial Catalog=Task;Integrated Security=true");
            lstSearch.Items.Clear();
            DataTable dt = new DataTable();
            SqlCommand cmd = new SqlCommand();
            DataSet ds;
            SqlDataAdapter adp = new SqlDataAdapter();
            lstSearch.Columns.Add("ID", 100, HorizontalAlignment.Left);
            lstSearch.Columns.Add("NAME", 180, HorizontalAlignment.Left);
            lstSearch.Columns.Add("TASKS", 190, HorizontalAlignment.Center);
            lstSearch.Columns.Add("STATUS", 90, HorizontalAlignment.Center);
            lstSearch.Columns.Add("ASSIGNED BY", 170, HorizontalAlignment.Right);
            lstSearch.Columns.Add("SEX", 90, HorizontalAlignment.Right);
            lstSearch.Columns.Add("DOB", 110, HorizontalAlignment.Right);
            lstSearch.Visible = true;
            lstSearch.View = View.Details;
            lstSearch.GridLines = true;
            if(txtUserID.Text.ToString().Trim()!="")
            {
                cmd = new SqlCommand("Select u.user_id as user_id,u.user_first_name+' '+u.user_last_name as user_name,t.task_name as task_name,s.status_name as status_name,m.manager_first_name+' '+m.manager_last_name as manager_name,u.user_sex as user_sex,u.user_dob as user_dob from UserDetail2 u,TaskDetail t,TaskUserDetail v,Status s,ManagerDetail2 m where u.user_id=t.user_id and t.task_id=v.task_id and v.status=s.status_id and m.manager_id=v.manager_id and v.user_id=" + txtUserID.Text.Trim() + "", conn);
                adp=new SqlDataAdapter(cmd);
                ds=new DataSet();
                adp.Fill(ds,"UserDetail2"+"TaskDetail"+"UserCheckIn"+"Status");
                dt=ds.Tables["UserDetail2"+"TaskDetail"+"UserCheckIn"+"Status"];
            }
            else if (txtUName.Text.Trim() != "")
            {
                cmd = new SqlCommand("Select u.user_id as user_id,u.user_first_name+' '+u.user_last_name as user_name,t.task_name as task_name,s.status_name as status_name,m.manager_first_name+' '+m.manager_last_name as manager_name,u.user_sex as user_sex,u.user_dob as user_dob from UserDetail2 u,TaskDetail t,TaskUserDetail v,Status s,ManagerDetail2 m where u.user_id=t.user_id and t.task_id=v.task_id and v.status=s.status_id and m.manager_id=v.manager_id and ((u.user_first_name like '%" + (txtUName.Text.Trim() + "%') or (u.user_last_name like '%" + (txtUName.Text.Trim()) + "%'))"), conn);
                adp = new SqlDataAdapter(cmd);
                ds = new DataSet();
                adp.Fill(ds, "UserDetail2" + "TaskDetail" + "UserCheckIn" + "Status");
                dt = ds.Tables["UserDetail2" + "TaskDetail" + "UserCheckIn" + "Status"];
            }
            else if (dtDOB.Value.ToLongDateString() != "")
            {
                cmd = new SqlCommand("Select u.user_id as user_id,u.user_first_name+' '+u.user_last_name as user_name,t.task_name as task_name,s.status_name as status_name,m.manager_first_name+' '+m.manager_last_name as manager_name,u.user_sex as user_sex,u.user_dob as user_dob from UserDetail2 u,TaskDetail t,TaskUserDetail v,Status s,ManagerDetail2 m where u.user_id=t.user_id and t.task_id=v.task_id and v.status=s.status_id and m.manager_id=v.manager_id and u.user_dob between ('" + dtDOB.Value + "') and ('" + dtDOB.Value.AddDays(1) + "')", conn);
                adp = new SqlDataAdapter(cmd);
                ds = new DataSet();
                adp.Fill(ds, "UserDetail2" + "TaskDetail" + "UserCheckIn" + "Status");
                dt = ds.Tables["UserDetail2" + "TaskDetail" + "UserCheckIn" + "Status"];
            }
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());
                lstSearch.Items[i].SubItems.Add(dt.Rows[i].ItemArray[5].ToString());
                lstSearch.Items[i].SubItems.Add(dt.Rows[i].ItemArray[6].ToString());
            }
        }
private void btnCancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }

The above code works with no problem at all!

Given below is screen-shot of my output!:

What i want is once for the First time/entry of listview(named:lstSearch)ID(user id of employee) and NAME(user first name and user last name) has been shown then for thesecond time/entry and so on i dont want to display/show user id and user name(user first name and user last name) of user in columns(ID andNAME) of listview(lstSearch) even though the user has done/assigned different tasks by his manager and status of tasks might be different.

Is it possible?! If so can anyone tell me what modifications must i need to do in myc# code and where? Should i need to do any modifications in my sql select query in btnSearch_Click event of form(frmUserDetails) in order to achieve my required output?! Can anyone help me please! Can anyone help me/guide me to achieve my required output?! Any help/guidance in solving of this problem would be greatly appreciated!


vishal


Viewing all articles
Browse latest Browse all 2535

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>