0

我有一个列表框,用户可以随时将国家名称添加到其中。现在我只需要添加新数据来检查数据是否是新的,然后将其插入到 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
4

1 回答 1

0

如果您首先从数据库中加载现有名称,那么您无需检查任何内容。只需查询数据库以填充 aDataTable并将其绑定到ListBox. 当用户添加一个新国家时,将其添加到 中DataTable,它将自动显示在ListBox. 当需要保存时,只需使用相同的数据适配器保存,DataTable并且只会保存新记录。

于 2020-03-29T11:25:01.940 回答