如何通知用户要 deleted/updated 的数据具有临界值?

How to inform user that the data to be deleted/updated has critical values?

我想让用户知道他们要删除的数据有值。

例如:用户想删除记录"Math"科目,但是该科目有学生在读,所以用户无法删除记录"Math"。

我想知道这个在 C# 中的语法。是的,我知道如何使用 "Delete" 语法,但我想让用户知道他们要删除的记录有一些有价值的信息。让用户知道他们将要删除一条关键数据。我知道这也可以用在 VB

Private Sub btnDelete_Click(sender As Object, e As EventArgs) Handles btnDelete.Click
    If DTTable("SELECT * ", "tblSubjectsEnrolled", " WHERE CtrlNumber ='" & IDNumber & "'").Rows.Count > 0 Then
        MessageBox.Show("The subject schedule cannot be deleted, because there are still students enrolled in it!", "Delete!", MessageBoxButtons.OK, MessageBoxIcon.Error)
    Else
        If MessageBox.Show("The operation cannot be undone! Continue?", "Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
            RecordRow("DELETE FROM [tblOfferedSubjects] WHERE [CtrlNumber]='" & IDNumber & "'")

            btnSearch.PerformClick()
            MessageBox.Show("Record Deleted!", "Delete", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
            SelectRecord()
        End If
    End If
End Sub

Public Sub RecordRow(ByVal sql As String)
    Dim con As OleDb.OleDbConnection = New OleDb.OleDbConnection(conStr)
    Dim cmd As New OleDb.OleDbCommand
    cmd.CommandType = CommandType.Text
    cmd.CommandText = sql
    cmd.Connection = con
    con.Open()
    cmd.ExecuteNonQuery()
    con.Close()
End Sub
Public Function DTTable(ByVal sql As String, ByVal tName As String, ByVal filter As String) As DataTable
    Dim connection As New OleDb.OleDbConnection(conStr)
    Dim dataAdapter As New OleDb.OleDbDataAdapter
    Dim ds As New DataSet
    dataAdapter = New OleDb.OleDbDataAdapter(sql + " from " + tName + filter, connection)
    dataAdapter.Fill(ds, tName)
    Return ds.Tables(tName)
End Function

我想在该代码中使用类似的东西。我也尝试将该代码转换为 c#,但我无法获得 DTTable()。Rows.Count > 0,因为 .Rows 前面不能有 void 值。有人可以帮我解决这个问题吗?

我展示了可以帮助您理解问题的完整代码片段。 PS: 上面显示的代码不是我的。我只是用它作为这个问题的例子。 PPS:
我想限制用户删除整个记录。假设在类别中,有子类别。如果用户想删除有子类别的类别,它不会允许用户删除该类别,除非它没有任何子类别。

正如您已经提到的,您知道删除语法,您唯一的问题似乎是显示消息。

其实和VB中使用的方法类似。

// Delete confirmation
if (MessageBox.Show ("The operation cannot be undone! Continue?", "Delete",
        MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        == DialogResult.Yes) 
{
    //Delete the row
}

更多详情请参考: