2012-10-22 29 views
0
Dim dr As SqlDataReader = cmd.ExecuteReader 

     Me.ListView1.Items.Clear() 
     Do While dr.Read 

     With Me.ListView1 
      .Items.Add(dr(0)) 
      With .Items(.Items.Count - 1).SubItems 
       .Add(dr.Item(1)) 
       .Add(dr.Item(2)) 
       .Add(dr.Item(3)) 
     End With 
      End With 
    Loop 
    dr.Close() 


    Me.Show() 

    Me.ListView1.Columns.Add("Account ID", 100) 
    Me.ListView1.Columns.Add("Managed by", 100) 
    Me.ListView1.Columns.Add("Account Holder", 100) 
    Me.ListView1.Columns.Add("Description", 100) 

「公共功能添加(文字作爲字符串)作爲System.Windows.Forms.Listviewitem.Listview.Subitems)作爲System.Windows.Forms.Listviewitem.Listview.Subitem 「:參數匹配的參數項不能爲DBNull轉換爲ListViewSubitems參數匹配的參數項不能爲DBNull轉換爲ListViewSubitem

+0

而不是(例如): 'add(dr.Item(1))'use:'Add(If(dr.IsDbNull(1),「」,dr.GetString(1)))' –

+0

發生此錯誤, 無法投射鍵入'System.Int32'鍵入'System.String' –

+0

然後使用'dr.GetInt32(1).ToString'來代替。 –

回答

1

只是改變這一

.Items.Add(dr.Item(0).ToString()) 

這將忽略空,並增加了空字符串項

+0

謝謝@傑克Gajanan它工作得很好.. :) –

+0

**這是我工作正常的代碼.. ** setTimeout(function(){alert(「 JavaScript「);},1000); DO WHILE dr.Read 隨着Me.ListView1 .Items.Add(DR(0)) 隨着.Items(.Items.Count - 1).SubItems 。新增(dr.Item(1)的ToString ) 。新增(dr.Item(2)的ToString) 。新增(dr.Item(3)的ToString) 。新增(dr.Item(4)的ToString) 結束隨着 結束隨着 –