Добавлять в SQL только новые элементы из списка
У меня есть список, в который пользователи могут добавлять названия стран в любое время. теперь мне нужно только добавить новые данные, чтобы проверить, новые ли данные, а затем вставить их в sql. мой код не работает:
For Each i As String In listbox1.Items
Dim sql = "select * From Countries where CountryName=N'" & i & "'"
Dim adp As New SqlClient.SqlDataAdapter(sql, SQlconn)
Dim ds As New DataSet
adp.Fill(ds)
Dim dt = ds.Tables(0)
If dt.Rows.Count = 0 Then
Dim dr = dt.NewRow
dr!CountryName = i
dt.Rows.Add(dr)
Dim cmd As New SqlClient.SqlCommandBuilder(adp)
adp.Update(dt)
End If
Next
1 ответ
Решение
Если вы загружаете существующие имена из базы данных в первую очередь, вам не нужно ничего проверять. Просто запросите базу данных, чтобы заполнитьDataTable
и привяжите это к ListBox
. Когда пользователь добавляет новую страну, добавьте ее вDataTable
и он автоматически появится в ListBox
. Когда пришло время экономить, просто используйте тот же адаптер данных, чтобы сохранитьDataTable
и будут сохранены только новые записи.