c# 设计定时器,1秒存储一次数据到数据库,时间精度要控制在10毫秒内
时间: 2024-02-22 13:00:30 浏览: 24
在C#中,可以使用System.Timers.Timer类来实现定时器功能。为了确保时间精度在10毫秒内,可以将定时器的间隔设置为100毫秒,并在每次定时器触发时检查当前时间是否为每秒的整数秒,如果是,则执行数据存储操作。以下是一个简单的示例代码:
```csharp
using System;
using System.Data.SqlClient;
using System.Timers;
class Program
{
static void Main(string[] args)
{
Timer timer = new Timer(100); // 定时器间隔为100毫秒
timer.Elapsed += OnTimerElapsed; // 注册定时器事件处理函数
timer.AutoReset = true; // 设置定时器为自动重置
timer.Start(); // 启动定时器
Console.ReadLine(); // 等待用户按下回车键
}
static void OnTimerElapsed(object sender, ElapsedEventArgs e)
{
if (DateTime.Now.Millisecond == 0) // 判断当前时间是否为每秒的整数秒
{
// 执行数据存储操作
using (SqlConnection connection = new SqlConnection("数据库连接字符串"))
{
connection.Open();
SqlCommand command = new SqlCommand("INSERT INTO 表名 (列名) VALUES (@value)", connection);
command.Parameters.AddWithValue("@value", DateTime.Now.ToString());
command.ExecuteNonQuery();
}
}
}
}
```
在上面的代码中,定时器间隔为100毫秒,每次定时器触发时会检查当前时间是否为每秒的整数秒,如果是,则执行数据存储操作。注意,在实际应用中,需要根据需要调整定时器间隔和数据存储操作的逻辑。