2017-02-25 27 views
0

実行するたびに、 "データ型intにnvarchar値 'columnvalue'を設定すると変換が失敗します。どんな考え?これは行を削除するための恒久的な方法ですか?将来の提案をありがとう!DataGridviewから選択した行を削除する方法

Dim dataindex As Integer = Me.DataGridView1.CurrentRow.Index 
    Try 
     con = New SqlConnection 
     con.ConnectionString = Login.constring 
     Dim cmd As New SqlCommand("DELETE FROM tblmovies where movietitle = @a ", con) 
     cmd.Parameters.Add(New SqlParameter("@a", dataindex)) 
     con.Open() 
     If MessageBox.Show("Do you really want to Delete this Record?", "Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) = DialogResult.Yes Then 
      cmd.ExecuteNonQuery() 
      con.Close() 

      Exit Sub 
     Else 
      con.Close() 
      Exit Sub 
     End If 
    Catch ex As SqlException 
     MessageBox.Show(ex.Message) 
    End Try 
+0

movietitleは、より多くの映画の名前のように見えるだろうが、あなたはあなたのDataGridViewのcurrentRowの由来インデックスにそれを比較しています。現在のローでmovietitleを保持する列の値にパラメータを設定するか、行のプライマリキーを渡すことができます(現在のローからアクセスできる場合) –

答えて

0
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Dim i As Integer = DataGridView1.SelectedRows(0).Index 
    DataGridView1.Rows.RemoveAt(i) 
End Sub 
+0

ありがとう、しかし私はより永続的な方法を探しています –

+0

永久的な方法は –

+0

あなたのレコードを削除し、再度gridview –

関連する問題