2013-09-29 38 views
1

我想将数据显示在数据库的组合框中。 我成功地表明,但我的数据库的第一个数据不能显示在组合框中。 我使用的代码是:除了i以外显示来自数据库的组合框项目

con.Open(); 
     SqlCeCommand cmnd = con.CreateCommand(); 
     cmnd.CommandText = "SELECT * FROM register_for_combobox";   
     SqlCeDataReader rd = cmnd.ExecuteReader(); 

      while (rd.Read()) 
      { 
       string registerd_dpt = rd[0].ToString(); 
       string registerd_semestr = rd[1].ToString(); 
       string registerd_crs = rd[2].ToString(); 
       string registerd_tcr = rd[3].ToString(); 

       dpt_comboBox.Items.Add(registerd_dpt); 
       semester_comboBox.Items.Add(registerd_semestr); 
       course_combobox.Items.Add(registerd_crs); 
       teacher_comboBox.Items.Add(registerd_tcr);     
      } 

我的代码运作良好不能显示数据库的第一数据到所述的组合框。 这里有什么问题? 我无法理解。 任何人都可以帮助我吗?

+0

我不太明白......什么数据是不是被显示?第一个数据是数据库中的第一条记录是什么意思? – paqogomez

+1

你为什么不使用数据集。我建议不要使用读者。创建一个数据集和数据适配器并设置combobox =数据集的数据源。从那里你可以设置显示成员和值成员。没有显示数据库中的第一条记录,即 –

+0

。 @paqogomez – DarkenShooter

回答

0

你有没有想过你的问题呢?

在试图复制这个我撞上了桌子下面的代码,我知道有3条记录,所有3在组合框中出现了:

 SqlConnection con = new SqlConnection("Data Source=xxxxx;Initial Catalog=yyyyy;Integrated Security=true;"); 
     SqlCommand cmnd = con.CreateCommand(); 

     cmnd.CommandText = "Select * from BillingType"; 

     con.Open(); 
     SqlDataReader rd = cmnd.ExecuteReader(); 

     while (rd.Read()) 
      { 
       string someFieldText = rd[1].ToString(); 

       comboBox1.Items.Add(someFieldText); 
      } 
     } 
     con.Close();