Nganku Junior Ответов: 3

Как я могу прочитать имена столбцов таблицы в combobox


I have a question. I need to have the rows of a table displayed as the list-elements of a combobox Actually I have a table called 'Table1' with two columns *Id* and *Name* and i need to have a combobox that once the form loads can read these column names as the elements of the combobox so if a search needs to be performed on the table, a choice can be done as per what column value. But when the form loads the combobox is empty

Please find my code below:


Что я уже пробовал:

string sd = @"select * from AcquiredBulkInfo";
            SqlConnection con = new SqlConnection(MyConnectionString);
            SqlCommand cmd = new SqlCommand(sd, con);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            comboBox1.DataSource = dt;

3 Ответов

Рейтинг:
8

Nganku Junior

void Search_Crit()
           {
           string sd = @"SELECT COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME= 'AcquiredBulkInfo'";
           SqlConnection con = new SqlConnection("connection string");
           con.Open();
           SqlCommand cmd = new SqlCommand(sd, con);
           SqlDataReader dr;
           dr = cmd.ExecuteReader();
           if (dr.HasRows)
               {
               while (dr.Read())
                   {
                   comboBox1.Items.Add(dr[0].ToString());
                   }
               }
           dr.Close();
           con.Close();
           }


Рейтинг:
14

Karthik_Mahalingam

попробуйте выполнить этот запрос

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'AcquiredBulkInfo'


#realJSOP

Зачем снова лезть в базу данных? У него есть вся необходимая информация в объекте datatable.

Nganku Junior

@John Simmons : цель моей "гимнастики" состоит в том, чтобы я мог применить критерий поиска на основе имени столбца

Karthik_Mahalingam

ему просто нужно привязать имена столбцов в combobox, поэтому нет смысла приносить все данные в приложение только для того, чтобы показать имена столбцов.

Nganku Junior

Эй когда я использую этот код:
Выберите * из INFORMATION_SCHEMA. COLUMNS, где TABLE_NAME = N 'Acquiredbulkinfo'
Datagridview отображает ;
Системы.Данных.Объекта datarowview
Чего не хватает пожалуйста

Karthik_Mahalingam

datagridview или combobox?

Nganku Junior

Combobox спасибо

Karthik_Mahalingam

Поле combobox1.DisplayMember = "имя_столбца";

Рейтинг:
1

#realJSOP

Посмотрите на DataTable.Columns собственность. Это DataColumnCollection от DataColoumn предметы, и вы хотите, чтобы DataColumn.ColumnName собственность.