2016-04-26 14 views
0

vbでは、netにSQL Serverデータベースから選択したユーザー接続を削除するコードがあります。SQL Serverからの接続を削除するときに、すべての接続が削除されます。

現在、私がページを開くと、すべてのユーザー接続が削除されますが、これは起こりません。私はページを開いて、テーブル行の削除ボタンをクリックしてから接続を削除する必要があります。そう それは私が

問題は、あなたがPage_Loadの中に接続コードを削除して書かれている

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load 

     Dim dtTable As DataTable = Nothing 
     Dim intConnectionId As Integer = 0 

     If IsPostBack Then 

      intConnectionId = CInt(result.Value) 

      ' Get user data from session 
      With HttpContext.Current 

      End With 

     End If 

     Using sqlCommand As New SqlCommand 
      With sqlCommand 
       .CommandText = "usp_connectsdetailedlist" 
       .CommandType = CommandType.StoredProcedure 

       ' Remove connection 
       modConnections.Delete(intConnectionId) 

       ' Clear desks attahced to connection 
       modDeskText.ClearUserDesk(intConnectionId) 

       ' Send message to server to delete connection 
       modMessages.Send(ccsStdCallBackCon.scbcDisconnect, intConnectionId, True) 

      End With 

      Execute(sqlCommand, dtTable) 
     End Using 

     With Rep1 
      .DataSource = dtTable.DefaultView 
      .DataBind() 
     End With 

     If Not IsNothing(dtTable) Then 
      dtTable.Dispose() 
     End If 

    End Sub 
+0

問題は、あなたが提供したコードではなく、実際に削除を行うコードにある可能性があります。 – jmcilhinney

+0

ご覧のとおり、コメントのコードはほとんど読めません。質問を編集し、そこに関連するコードを追加してください。 – jmcilhinney

答えて

0
  1. 私のコードとご助言を参照してくださいvb.netでのVisual Studioで働いている

    、ページが読み込まれるたびに実行されます。

  2. ボタンを追加し、同じコードをButton_Clickイベントに書き込んでみてください。
+0

ああ、ありがとう、ポストバックでSQLコマンドを実行するだけの方法はないのですか? – BarryWhite

+0

また、私がintConnectionIdのために0を渡すことがわかったので、すべてのユーザーを選択していたので、それを削除しました。 – BarryWhite

+0

あなたがポストバックのためだけに実行したい場合は、単に "If IsPostBack Then ---- End"にコードを移動してください。 –