You can not add an item with the same key multiple times, which you do in the line:
Dim listitem As New ListViewItem(dr("SJDate").ToString())
Instead try to use an unique field, maybe the SJID field, or a combination of fields that is unique.
Also try to catch the error before it occurs with:
ListView1.Items.ContainsKey(listitem.Name)
See example in C# here:
https://www.c-sharpcorner.com/article/how-do-i-check-for-duplicate-items-in-a-listview/[
^]
For VB.NET that would be:
If Not listView1.Items.ContainsKey(listitem.Name) Then
listView1.Items.Add(listitem)
Else
MessageBox.Show("Duplicate Item!")
End If
You can use this online converter to convert C# to VB.NET:
Code Converter C# to VB and VB to C# – Telerik[
^]
In your FOR loop you need to change listitem to listitem_S:
Dim listitem_S As New ListViewItem(dr1("itemnmDES").ToString())
listitem.SubItems.Add(dr1("itemnmDES").ToString())
listitem.SubItems.Add(dr1("SJdqty").ToString())
listitem.SubItems.Add(dr1("SJdPCS").ToString())
listitem.SubItems.Add(dr1("SJdRate").ToString())
listitem.SubItems.Add(dr1("SJdamt").ToString())
listitem.SubItems.Add(dr1("SJDstock").ToString())
listitem.SubItems.Add(dr1("SJid").ToString())
ListView1.Items.Add(listitem)