Pradeep CBZ Ответов: 3

Как получить имена столбцов таблицы в базе данных sql в combobox на языке C#


Здравствуйте сэр,
Я застрял в доступе к combobox.Как получить значение одного столбца в combobox из базы данных MSSQL после отладки.

Здесь я использовал этот код на языке Си#:

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<БР режиме="оплот" /&ГТ;
SqlConnection con;
        SqlCommand com;
        SqlDataReader dr;
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            con.Open();
            con = new SqlConnection("Data Source=CBP\\SQLEXPRESS;Initial Catalog=ECG;Integrated Security=True");
            com = new SqlCommand("Select Device_name from Monitor_devices", con);
            //cmd.CommandType = CommandTypeText;
            dr=com.ExecuteReader();
            //int j = 0;
            //if (dr.HasRows)
            //{
                while (dr.Read())
                {
                    comboBox2.Items.Add(dr[0].ToString());
                    //j++;
                }
                dr.Close();
                con.Close(); 
               

        }
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


Любой, кто знает об этом, пожалуйста, помогите..

Спасибо,
Pradeep CBZ

Правка: добавлены Теги

OriginalGriff

В чем проблема?
Что он делает такого, чего не должен делать, или не делает того, что должен?

Pradeep CBZ

Здравствуйте сэр,
Здесь ничего не происходит.После выполнения или отладки кода, то если я нажимаю на combobox, то он не возвращается в combobox из столбца базы данных SQL.Как этого достичь.Как сделать его видимым в выпадающем списке или как его восстановить.

Спасибо
Прадип

3 Ответов

Рейтинг:
2

nikki88

пробовать

comboBox2.Items.Add(dr[0].ToString());

к
comboBox2.Items.Add(dr["Device_name"].ToString());



Кроме того, вам не нужно иметь код в событии "comboBox2_SelectedIndexChanged", вы удаляете это событие... смотреть ниже

SqlConnection con;
        SqlCommand com;
        SqlDataReader dr;

                        con = new SqlConnection("Data Source=CBP\\SQLEXPRESS;Initial Catalog=ECG;Integrated Security=True");
            com = new SqlCommand("Select Device_name from Monitor_devices", con);
            //cmd.CommandType = CommandTypeText;
                con.Open();

            dr=com.ExecuteReader();
            //int j = 0;
            //if (dr.HasRows)
            //{
                while (dr.Read())
                {
                    comboBox2.Items.Add(dr["Device_name"].ToString());
                    //j++;
                }
                dr.Close();
                con.Close(); 


nikki88

обратите внимание, я меняю позицию вашего жулика.Открытое заявление.

Pradeep CBZ

Здравствуйте сэр,
даже я изменил свой код на
&ЛТ;&ЛТ;&ЛТ;&ЛТ;&ЛТ;&ЛТ;
comboBox2.Items.Add (dr ["Device_name"].Метод toString());
&ГТ;&ГТ;&ГТ;&ГТ;&ГТ;&ГТ;


Но даже если это не работает.Я имею в виду ,что это не дает ошибки, как ее разрешить, сэр.

Спасибо,
Прадип.

Agrahari111

tihis-это показать только первую строку базы данных,как показать все значения одного столбца

nikki88

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

Рейтинг:
1

Ali Majed HA

Привет
Я использовал этот код с помощью Entity Framework :

Public Class BankAccount
{
   Public List<ema.shopping.model.bank> GetBank();
   {
      using(ShoppingEntities _ShoppingEntities = new ShoppingEntities())
      {
          return _ShoppingEntities.Bank.ToList(); 
      }
   }
}
</ema.shopping.model.bank>


и для вас виде кода:
class.BankAccount _BankAccount = new BankAccount();
BankIDCombobox.DisplayName = "Name";
BankIDCombobox.ValueMember = "BankID";
BankIDCombobox.DataSource = _BankAccount.GetBank();


надеюсь, это решит вашу проблему
с уважением


[no name]

Знаете ли вы, что ОП перешел на использование Entity Framework за последние четыре года с тех пор, как он опубликовал свой "вопрос"?

Рейтинг:
0

Member 11817231

SqlConnection con;
string dbConnectionString = @"Data Source=CBP\\SQLEXPRESS;Initial Catalog=ECG;Integrated Security=True";
string sqlTable = null;
con = new SqlConnection(dbConnectionString);
con.Open();

sqlTable = "Select Device_name from Monitor_devices";
SqlDataAdapter dscmd = new SqlDataAdapter(sqlTable, con);
DataSet ds = new DataSet();
dscmd.Fill(ds);
comboBoxColumn.DataSource = ds.Tables[0];
comboBoxColumn.DisplayMember = "Device_name";
con.Close();


[no name]

Хорошая работа. Вы успешно доказали, что можете воскресить уже ответившие четырехлетние вопросы, скопировав уже существующее решение. Отлично сработано.