Добавлять в 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 и будут сохранены только новые записи.

Другие вопросы по тегам