0

私。ユーザーがリストボックスと2つのボタンを使用して複数の電話番号を追加できるフォームがあり、リストボックスに追加し、間違いを犯してデータベースの電話番号テーブルに保存する前に修正したい場合はリストボックスから削除します。

ii. 保存されたものを編集できる別のフォームがあります。つまり、場合によっては、削除したり追加したりできます。

最初の (i) は完全に機能しますが、2 番目の (ii) は機能しません。私が発見したのは、追加したものしか削除できず、データベーステーブルからのものは削除できないということです。それ、どうやったら出来るの?

以下は、2 番目の形式 (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
4

1 に答える 1

0

フォーム(ii)でユーザーが電話番号を削除している場合は、データベースから削除するだけです。そのため、次回電話番号がフォーム(ii)に表示されたときに、削除された電話番号はそこにありません。

削除ボタンのクリックでポストバックを作成したくない場合 (ユーザーがリスト ボックスに追加した電話番号は、これまでデータベースに保存されていないため消去されます)、サーバーに AJAX 呼び出しを行い、数値を削除します。

于 2013-09-13T07:15:49.263 に答える