上一篇
本文目录导读:
🚀 ASP.NET数据库操作全攻略:增删改查一把梭!
(文章基于2025年最新技术整理,适配ASP.NET Core 8.0+环境)
某天,刚接手项目的新手开发者小王盯着屏幕发呆——
“用户管理模块要实现添加/修改/删除功能,但数据库操作代码怎么写?”
他翻遍网络,发现大部分教程要么过时(比如经典ASP),要么直接甩出复杂框架(比如EF Core全功能)。
别慌!本文用最接地气的方式,手把手教你用ASP.NET实现增删改!
无论增删改,第一步都是连接数据库!
以SQL Server为例,在appsettings.json
中配置连接字符串:
{ "ConnectionStrings": { "DefaultConnection": "Server=.;Database=MyDB;Trusted_Connection=True;" } }
在Startup.cs
中注册服务:
services.AddDbContext<AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
场景:用户注册时,将信息存入数据库。
代码示例(ADO.NET原生写法):
using (var conn = new SqlConnection(connectionString)) { conn.Open(); var sql = "INSERT INTO Users (Name, Email) VALUES (@Name, @Email)"; var cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("@Name", "张三"); cmd.Parameters.AddWithValue("@Email", "zhangsan@example.com"); cmd.ExecuteNonQuery(); // 返回受影响行数 }
💡 关键点:
Parameters.AddWithValue
防止SQL注入! ExecuteNonQuery
用于非查询操作(如增删改)。场景:管理员删除违规用户。
代码示例(EF Core写法):
public async Task DeleteUser(int id) { var user = await _context.Users.FindAsync(id); if (user != null) { _context.Users.Remove(user); await _context.SaveChangesAsync(); } }
💡 关键点:
Remove
方法标记实体为删除状态,需调用SaveChanges
提交。 IsDeleted
字段,而非物理删除!场景:用户修改个人资料。
代码示例(混合写法):
// ADO.NET方式 using (var conn = new SqlConnection(connectionString)) { conn.Open(); var sql = "UPDATE Users SET Email=@Email WHERE Id=@Id"; var cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("@Email", "new@email.com"); cmd.Parameters.AddWithValue("@Id", 1); cmd.ExecuteNonQuery(); } // EF Core方式 var user = await _context.Users.FindAsync(1); user.Email = "new@email.com"; await _context.SaveChangesAsync();
💡 关键点:
TransactionScope
保证原子性。痛点:重复写连接、命令、异常处理代码?
解决方案:封装SqlHelper
工具类!
public static class SqlHelper { public static int ExecuteNonQuery(string sql, params SqlParameter[] parameters) { using (var conn = new SqlConnection(connectionString)) { conn.Open(); using (var cmd = new SqlCommand(sql, conn)) { cmd.Parameters.AddRange(parameters); return cmd.ExecuteNonQuery(); } } } } // 调用示例 SqlHelper.ExecuteNonQuery( "UPDATE Users SET Name=@Name WHERE Id=@Id", new SqlParameter("@Name", "李四"), new SqlParameter("@Id", 1) );
Hash
+Salt
处理,禁止明文! 无论是ADO.NET原生写法还是EF Core框架,ASP.NET都提供了灵活的增删改实现方式。新手建议从ADO.NET基础入手,逐步过渡到EF Core,同时牢记安全规范!
打开VS Code,新建一个ASP.NET项目,把这些代码敲一遍吧!🚀
本文由 业务大全 于2025-08-23发表在【云服务器提供商】,文中图片由(业务大全)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://xdh.7tqx.com/wenda/708272.html
发表评论