在ADO.NET中,可以使用DataTable.RowChanged
事件来捕获数据表中数据发生变化的时间。以下是一个代码示例:
using System;
using System.Data;
class Program
{
static void Main()
{
// 创建一个数据表
DataTable dataTable = new DataTable("MyTable");
dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
// 添加一个行变化事件处理程序
dataTable.RowChanged += new DataRowChangeEventHandler(OnRowChanged);
// 添加一行数据
DataRow row = dataTable.NewRow();
row["ID"] = 1;
row["Name"] = "John";
dataTable.Rows.Add(row);
// 修改行数据
row["Name"] = "Mike";
// 删除行数据
dataTable.Rows.Remove(row);
}
// 行变化事件处理程序
static void OnRowChanged(object sender, DataRowChangeEventArgs e)
{
if (e.Action == DataRowAction.Add)
{
Console.WriteLine("行已添加,时间:" + DateTime.Now);
}
else if (e.Action == DataRowAction.Change)
{
Console.WriteLine("行已修改,时间:" + DateTime.Now);
}
else if (e.Action == DataRowAction.Delete)
{
Console.WriteLine("行已删除,时间:" + DateTime.Now);
}
}
}
当行数据发生变化时,OnRowChanged
方法会被触发,根据DataRowAction
参数来确定行的操作类型(添加、修改或删除),然后输出相应的时间信息。