简体   繁体   中英

SQL Server distinct connection to database in C#

I am trying to drop down box in design but in database table category has duplicates. I tried to execute by using below code. But it is not executing. It just receiving all commands which I have been changes in properties:

下拉菜单的属性

cmd.CommandText = @"Select  Distinct Category_Desc from 
                    Database***name  order 
                    by Category_Desc";
adapter.SelectCommand = cmd;

SqlDataReader dr1 = cmd.ExecuteReader();

dr1.Read();

comboBoxCategory.ValueMember = "Category_Desc";
comboBoxCategory.DisplayMember = "Category_Desc";
comboBoxCategory.DataSource = dr1;

dr1.Dispose();

Can anyone please help how to execute distinct query from the code?

Data reader is a forward only cursor that you have to iterate and close after the last item.Look at this code segment

            SqlDataReader dr1= command.ExecuteReader();
            ArrayList arl= new ArrayList();
            while (dr1.Read())
            {
             arl.Add(dr1("Category_Desc"));
            }

            dr1.close();
         //If its a winform project use this               
           string [] str = al.ToArray(typeof(string));
            FarPoint.Win.Spread.ComboBoxCellType cb = new 
             FarPoint.Win.Spread.ComboBoxCellType();
            cb.Items = arl;

Use the adapter to fill a DataTable instead. You already have the adapter and it already has the SelectCommand assigned.

adapter.SelectCommand = cmd;
System.Data.DataTable dtCategories = new System.Data.DataTable();
adapter.Fill(dtCategories);

comboBoxCategory.ValueMember = "Category_Desc";
comboBoxCategory.DisplayMember = "Category_Desc";
comboBoxCategory.DataSource = dtCategories;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM