从绑定到数据库表的列表框中删除项目

时间:2013-09-13 07:05:30

标签: asp.net sql vb.net sql-server-2008 ado.net

我。我有一个表单,允许用户使用列表框添加多个电话号码,两个按钮添加到列表框,如果他们出错,想要在保存到数据库中的电话号码表之前更正它,从列表框中删除。 / p>

II。我有另一种形式,允许他们编辑已保存的内容,这意味着他们可以删除或添加更多内容。

第一个(i)完美地运作,而第二个(ii)没有。我发现的是我只能删除我添加的内容,但不会删除数据库表中的内容。我该怎么做?

以下是第二种形式的代码示例(ii):

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
      If Not Page.IsPostBack Then
                    Contact_Phone(getId)
                End If
    end sub

 Private Sub Contact_Phone(ByVal FK_CID As Integer)
        Dim strSQL As String
        strSQL = "Select PK_PNID,PN_Number From tblPhoneNumber where FK_CID=" & FK_CID
        With cClass
            .BindListBox(Me.lbPhone, strSQL, "PN_Number", "PK_PNID")
        End With
    End Sub
 Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
        Try
            Me.lbPhone.Items.Remove(Me.lbPhone.SelectedItem.Text)
        Catch ex As Exception
            If ex.Message = "Object reference not set to an instance of an object." Then
                Exit Sub
            End If
            Me.lblErr.ForeColor = Drawing.Color.Red
            Me.lblErr.Text = ex.Message
        End Try
    End Sub

1 个答案:

答案 0 :(得分:0)

当在表格(ii)中用户正在删除电话号码时,只需将其从数据库中删除,因此下次当电话号码显示在表格中时(ii)删除的电话号码将不在那里。< / p>

如果您不希望在删除按钮上回复帖子(这将删除用户在列表框中添加的电话号码,因为它至今尚未保存到数据库中),然后进行AJAX调用服务器传递值并删除号码。