削除したいデータに値があることをユーザーに知らせたいと考えました。削除/更新するデータに重要な値があることをユーザーに通知するにはどうすればよいですか?
例:ユーザーがレコード「数学」の件名を削除したが、その件名に生徒が登録されているため、ユーザーは「数学」というレコードを削除できません。
私はこの構文をC#で知りたがっています。はい、私は "削除"構文を使用する方法を知っていますが、私は彼らが削除したいレコードがいくつかの貴重な情報を持っていることをユーザーに知らせたいと思っていました。重要なデータを削除しようとしていることをユーザーに知らせる。私はこれも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:
私は、レコード全体を削除するようにユーザーを制限したかったのです。カテゴリでは、サブカテゴリがあるとします。ユーザがサブカテゴリを有するカテゴリを削除したい場合、サブカテゴリを持たない限り、ユーザはそのカテゴリを削除することができない。
あなたはおそらく全体のコードファイルを貼り付ける代わりに、コピーのコードの特定の部分を表示する必要があります。 – DarkKnight
@DarkKnight私はすでにエラーが発生している特定の部分を言っています(DTTable()。Rows.Count> 0) –