2013-12-10 166 views
0
Private Sub btnDelete_Click(sender As Object, e As EventArgs) Handles btnDelete.Click 
    If lstDetails.SelectedItems.Count = 1 Then 
     Dim Button = MessageBox.Show("Are you sure you want to delete this Data?", _ 
     "Message", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1) 

     If Button = Windows.Forms.DialogResult.Yes Then 
      Dim dt As New LoginSystemDataSet.AdministratorDataTable 
      dt = AdministratorTableAdapter.DeleteQuery(lstDetails.SelectedItems(0).SubItems(0).ToString, lstDetails.SelectedItems(0).SubItems(0).ToString, lstDetails.SelectedItems(0).SubItems(0).ToString) 
      lstDetails.Items.Remove(lstDetails.SelectedItems.Item(0)) 
     End If 
    Else 
     MsgBox("No items is selected", MsgBoxStyle.Critical) 
    End If 

End Sub 

如何单击按钮时从数据库中删除记录。从数据库中删除项目

+0

你有什么sql吗?和代码来调用数据库? –

+0

Me.AdministratorTableAdapter.Fill(Me.LoginSystemDataSet.Administrator) – Kesh

回答

0

看起来您的AdminitratorTableAdapter类已被设置为执行DELETE操作。您应该逐步完成代码并进行调试。

如果您想要执行常规操作DELETE,请执行以下操作。用CAPS替换与你的情况相关的值后的东西。 ID字段也只是一个例子。您应该将其替换为lstDetails所选项目所代表的任何字段名称。

Dim dbCommand As SqlCommand 
Dim strSQL As String 

Using dbConnection as New SqlConnection("Data Source=YOUR_SQL_SERVER_NAME;Initial Catalog=YOUR_DB_NAME;Integrated Security=True") 
    Try 
     dbConnection.Open() 
     strSQL = "DELETE FROM YOUR_TABLE_NAME WHERE ID = @ID" 
     dbCommand = New SqlCommand(strSQL, dbConnection) 
     dbCommand.Parameters.AddWithValue("@ID", lstDetails.SelectedItems.Item(0)) 
     dbCommand.ExecuteNonQuery() 
     dbConnection.Close() 
    Catch ex As Exception 
     ' handle Exception, log it etc. 
    End Try 
End Using 
+0

您忘记了'dbConnection.Dispose()'。或者你可以使用'Using'结构来为你处理。 –

+0

不确定'使用'在VB.Net中可用。谢谢,我更新了代码。 – Shiva

相关问题