2014-03-13 74 views
0

我有一個代碼,這裏顯示的數據從sqldatabase到搜索時的列表視圖。如何將所有數據結果顯示到列表視圖?

int flag = 0; 

     connectionstatus(); 

     SqlCommand cmd = new SqlCommand("SELECT *FROM SampleDatabase WHERE [email protected]", conn); 
     cmd.Parameters.Add("@IdNo", SqlDbType.VarChar).Value = txtIdNo.Text; 
     SqlDataReader objRead = cmd.ExecuteReader(); 
     lvlist.Items.Clear(); 
     while (objRead.Read()) 
     { 
      if ((txtIdNo.Text) == (objRead["IdNo"].ToString())) 
      { 
       flag = 1; 
       break; 
      } 
     } 
     if (flag == 1) 
     { 
      ListViewItem list = new ListViewItem(basa["FID"].ToString()); 
      list.SubItems.Add(objRead["FullName"].ToString()); 
      list.SubItems.Add(objRead["Age"].ToString()); 
      list.SubItems.Add(objRead["Gender"].ToString()); 
      list.SubItems.Add(objRead["Relationship"].ToString()); 
      list.SubItems.Add(objRead["SkillnOccupation"].ToString()); 
      lvlist.Items.AddRange(new ListViewItem[] { list }); 
     } 

我的問題是,當im搜索和數據庫有相同的IdNo數據時,它只顯示1結果。我如何顯示具有相同IdNo的所有結果?你們能幫我解決這個問題嗎?提前致謝。

+1

什麼** **巴沙魚? –

+0

我相信這是一條魚 – Brandon

+0

哦對不起,應該是objRead – user3416518

回答

1

把項目人口代碼內環路:

while (objRead.Read()) 
    { 
     ListViewItem list = new ListViewItem(basa["FID"].ToString()); 
     list.SubItems.Add(objRead["FullName"].ToString()); 
     list.SubItems.Add(objRead["Age"].ToString()); 
     list.SubItems.Add(objRead["Gender"].ToString()); 
     list.SubItems.Add(objRead["Relationship"].ToString()); 
     list.SubItems.Add(objRead["SkillnOccupation"].ToString()); 
     lvlist.Items.Add(list); 
    } 
+0

真棒,它的作品像魔術。非常感謝你。 – user3416518

1

用這個替換你的最後一行。似乎你正在爲每個項目製作兩個ListViewItems?看看是否有幫助,然後看看這裏。

Add item to Listview control

lvlist.Items.Add(list); 
+0

謝謝,我試過了,但它仍然只顯示1結果。 – user3416518

+0

@ user3416518你肯定返回的數據不僅僅顯示1個結果,因爲該標誌?當你瀏覽代碼時,你的第二個結果會發生什麼? – Volearix

相關問題