当前位置: 首页> 教育> 幼教 > 大家见过真正的病人吗_html基础必备知识点_描述建设一个网站的具体步骤_外链图片

大家见过真正的病人吗_html基础必备知识点_描述建设一个网站的具体步骤_外链图片

时间:2025/7/11 18:22:15来源:https://blog.csdn.net/weixin_47454452/article/details/146707424 浏览次数:0次
大家见过真正的病人吗_html基础必备知识点_描述建设一个网站的具体步骤_外链图片

在项目中能正常编译的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SQLite;
using System.Threading;namespace MachineDemo.Utils
{public class SQLiteDbHelper{// 用户实体类public class User{public int Id { get; set; }public string Name { get; set; }public int Age { get; set; }public string Email { get; set; }}public class RandomUserGenerator{private static Random random = new Random();private static int nameCounter = 0; // 唯一计数器public static User GenerateRandomUser(){// 随机名字列表  string[] names = { "Alice", "Bob", "Charlie", "David", "Eva", "Frank", "Grace", "Henry", "Ivy", "Jack" };// 随机选择一个名字,并附加唯一计数器  string randomName = $"{names[random.Next(names.Length)]}{nameCounter++}";// 随机生成年龄(1到120岁)  int randomAge = random.Next(1, 121);// 生成随机邮箱  string baseEmail = "user";int randomNumber = random.Next(0, 99999); // 生成0到99999之间的随机数  string randomEmail = $"{baseEmail}{randomNumber.ToString("D5")}@example.com";return new User{Name = randomName,Age = randomAge,Email = randomEmail};}}//public class RandomUserGenerator//    {//        private static Random random = new Random();//        public static User GenerateRandomUser()//        {//            // 随机名字列表//            string[] names = { "Alice", "Bob", "Charlie", "David", "Eva", "Frank", "Grace", "Henry", "Ivy", "Jack" };//            // 随机选择一个名字//            string randomName = names[random.Next(names.Length)];//            // 随机生成年龄(1到120岁)//            int randomAge = random.Next(1, 121);//            // 生成随机邮箱//            string baseEmail = "user";//            int randomNumber = random.Next(0, 99999); // 生成0到99999之间的随机数//            string randomEmail = $"{baseEmail}{randomNumber.ToString("D5")}@example.com";//            return new User//            {//                Name = randomName,//                Age = randomAge,//                Email = randomEmail//            };//        }//    }private static readonly SemaphoreSlim writeLock = new SemaphoreSlim(1, 1);private readonly string connectionString;/// <summary/// 初始化数据库连接(.NET 4.6.1兼容版本)/// </summarypublic SQLiteDbHelper(string dbPath){// 配置连接参数var builder = new SQLiteConnectionStringBuilder{DataSource = dbPath,Version = 3,Pooling = true,//MaxPoolSize = 10,DefaultTimeout = 30,FailIfMissing = false};connectionString = builder.ConnectionString;InitializeDatabase();}/// <summary/// 初始化数据库结构/// </summaryprivate void InitializeDatabase(){using (var conn = new SQLiteConnection(connectionString)){conn.Open();const string sql = @"CREATE TABLE IF NOT EXISTS Users (Id INTEGER PRIMARY KEY AUTOINCREMENT,Name TEXT NOT NULL,Age INTEGER,Email TEXT UNIQUE)";new SQLiteCommand(sql, conn).ExecuteNonQuery();}}/// <summary/// 异步插入用户(线程安全)/// </summarypublic async Task<int> InsertUserAsync(User user){await writeLock.WaitAsync();try{using (var conn = new SQLiteConnection(connectionString)){await conn.OpenAsync();const string sql = @"INSERT INTO Users (Name, Age, Email)VALUES (@Name, @Age, @Email);SELECT lastinsertrowid();";using (var cmd = new SQLiteCommand(sql, conn)){cmd.Parameters.AddWithValue("@Name", user.Name);cmd.Parameters.AddWithValue("@Age", user.Age);cmd.Parameters.AddWithValue("@Email", user.Email);return Convert.ToInt32(await cmd.ExecuteScalarAsync());}}}finally{writeLock.Release();}}/// <summary/// 异步查询所有用户/// public async Task<int> InsertUserAsync(User user)/// </summarypublic async Task<User[]> GetAllUsersAsync()//public Task<User[]> GetAllUsersAsync(){using (var conn = new SQLiteConnection(connectionString)){await conn.OpenAsync();//conn.OpenAsync();const string sql = "SELECT  FROM Users";using (var cmd = new SQLiteCommand(sql, conn))using (var reader = await cmd.ExecuteReaderAsync())//using (var reader = cmd.ExecuteReader()){var users = new System.Collections.Generic.List<User>();//while (await reader.ReadAsync())while (reader.Read()){users.Add(new User{Id = reader.GetInt32(0),Name = reader.GetString(1),Age = reader.GetInt32(2),Email = reader.IsDBNull(3) ? null : reader.GetString(3)});}// return users.ToArray();return users.ToArray();}}}//同步//public User[] GetAllUsers()//{//    using (var conn = new SQLiteConnection(connectionString))//    {//        conn.Open();//        const string sql = "SELECT * FROM Users";//        using (var cmd = new SQLiteCommand(sql, conn))//        using (var reader = cmd.ExecuteReader())//        {//            var users = new List<User>();//            while (reader.Read())//            {//                users.Add(new User//                {//                    Id = reader.GetInt32(0),//                    Name = reader.GetString(1),//                    Age = reader.GetInt32(2),//                    Email = reader.IsDBNull(3) ? null : reader.GetString(3)//                });//            }//            return users.ToArray();//        }//    }//}/// <summary/// 异步删除用户(线程安全)/// </summarypublic async Task<int> DeleteUserAsync(int userId){await writeLock.WaitAsync();try{using (var conn = new SQLiteConnection(connectionString)){await conn.OpenAsync();const string sql = "DELETE FROM Users WHERE Id = @Id";using (var cmd = new SQLiteCommand(sql, conn)){cmd.Parameters.AddWithValue("@Id", userId);return await cmd.ExecuteNonQueryAsync();}}}finally{writeLock.Release();}}}
}

效果展示

效果展示,数据库里持续增加随机值

调用方法

var dbHelper = new SQLiteDbHelper("database.db");
var randomUser = RandomUserGenerator.GenerateRandomUser();var userId = dbHelper.InsertUserAsync(randomUser);

用everything软件搜到这个database.db数据库
使用数据库可视化工具看效果

关键字:大家见过真正的病人吗_html基础必备知识点_描述建设一个网站的具体步骤_外链图片

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: