Добавить только новые элементы из списка в SQL - PullRequest
0 голосов
/ 29 марта 2020

У меня есть список, в который пользователи могут добавлять названия стран в любое время. теперь мне нужно только добавить новые данные, чтобы проверить, являются ли данные новыми, затем вставить их в 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 Ответ

0 голосов
/ 29 марта 2020

Если вы загружаете существующие имена из базы данных, вам не нужно ничего проверять. Просто запросите базу данных, чтобы заполнить DataTable и привязать ее к ListBox. Когда пользователь добавляет новую страну, добавьте ее в DataTable, и она автоматически появится в ListBox. Когда пришло время для сохранения, просто используйте тот же адаптер данных для сохранения DataTable, и будут сохранены только новые записи.

...