C# 访问 SQL SERVER 数据库帮助类
2017-08-02 09:26
232 查看
写一个属于自己的数据库帮助类,温故而知新~~
数据库操作核心部分:
View Code
以下是Demo
增
![](https://images2017.cnblogs.com/blog/1163283/201708/1163283-20170802090910521-67478021.jpg)
删
![](https://images2017.cnblogs.com/blog/1163283/201708/1163283-20170802091935849-1440964050.jpg)
查
![](https://images2017.cnblogs.com/blog/1163283/201708/1163283-20170802090756724-1499813478.jpg)
改
![](https://images2017.cnblogs.com/blog/1163283/201708/1163283-20170802091126240-1387189312.jpg)
一组数据库操作
![](https://images2017.cnblogs.com/blog/1163283/201708/1163283-20170802092231802-771348527.jpg)
事务操作
Lambda如何转换SQL语句,请参考lambda表达式转换sql
码农的世界,不知道可以走多远,坚持多久,好好珍惜当下。
数据库操作核心部分:
1 /// <summary> 2 /// 用于单个数据库操作 3 /// </summary> 4 public class QueryService 5 { 6 /// <summary> 7 /// 数据库名 8 /// </summary> 9 public static DbServiceBase MaiDb 10 { 11 get 12 { 13 return new DbServiceBase(DbConnStrKey.MaiDb); 14 } 15 } 16 } 17 18 /// <summary> 19 /// 用于一组数据库操作 20 /// </summary> 21 public class UnitService 22 { 23 /// <summary> 24 /// 数据库名 25 /// </summary> 26 public static DbServiceBase MaiDb 27 { 28 get 29 { 30 return new DbServiceBase(DbConnStrKey.MaiDb, false); 31 } 32 } 33 34 }
View Code
以下是Demo
增
1 public static int Add(object model) 2 { 3 return QueryService.MaiDb.Create<SYS_Resource>(model); 4 }
![](https://images2017.cnblogs.com/blog/1163283/201708/1163283-20170802090910521-67478021.jpg)
exec sp_executesql N'insert into SYS_Resource (ResoId,ResoParentId,ResoType,ResoName,ResoUrl,ResoDesc,ResoIsShow,ResoOrder) values (@ResoId,@ResoParentId,@ResoType,@ResoName,@ResoUrl,@ResoDesc,@ResoIsShow,@ResoOrder)',N'@ResoId nvarchar(36),@ResoParentId nvarchar(36),@ResoType nvarchar(4),@ResoName nvarchar(4),@ResoUrl nvarchar(4000),@ResoDesc nvarchar(4000),@ResoIsShow bit,@ResoOrder int',@ResoId=N'cbaf5484-cdcb-4511-afee-0abb7937d31d',@ResoParentId=N'89fa1a64-6e49-42b9-b2a7-bd5fce0ea54e',@ResoType=N'page',@ResoName=N'添加资源',@ResoUrl=N'',@ResoDesc=N'',@ResoIsShow=1,@ResoOrder=0 go
删
1 public static ServiceResult Del(string ResoId) 2 { 3 var result = new ServiceResult(); 4 using (var dbs = UnitService.MaiDb) 5 { 6 TryCatch(()=>{ 7 var hasChildren = dbs.Exist<SYS_Resource>(w => w.ResoParentId == ResoId); 8 if (hasChildren) 9 { 10 result.IsFailure("删除失败!该资源有下属资源!"); 11 return; 12 } 13 else 14 { 15 dbs.Delete<SYS_Resource>(w => w.ResoId == ResoId); 16 } 17 },result); 18 } 19 return result; 20 }
![](https://images2017.cnblogs.com/blog/1163283/201708/1163283-20170802091935849-1440964050.jpg)
exec sp_executesql N'select count(*) from SYS_Resource where (ResoParentId = @para1)',N'@para1 nvarchar(36)',@para1=N'cbaf5484-cdcb-4511-afee-0abb7937d31d' go exec sp_executesql N'delete from SYS_Resource where (ResoId = @para1)',N'@para1 nvarchar(36)',@para1=N'cbaf5484-cdcb-4511-afee-0abb7937d31d' go
查
1 public static IList<SYS_Resource> FindList() 2 { 3 return QueryService.MaiDb.FindList<SYS_Resource>(); 4 }
![](https://images2017.cnblogs.com/blog/1163283/201708/1163283-20170802090756724-1499813478.jpg)
改
1 public static int Update(object model, Expression<Func<SYS_Resource, bool>> where) 2 { 3 return QueryService.MaiDb.Update<SYS_Resource>(model, where); 4 }
![](https://images2017.cnblogs.com/blog/1163283/201708/1163283-20170802091126240-1387189312.jpg)
exec sp_executesql N'update SYS_Resource set ResoType = @ResoType,ResoName = @ResoName,ResoUrl = @ResoUrl,ResoDesc = @ResoDesc,ResoIsShow = @ResoIsShow,ResoOrder = @ResoOrder,ResoUpdateTime = @ResoUpdateTime where (ResoId = @para1)',N'@ResoType nvarchar(4),@ResoName nvarchar(4),@ResoUrl nvarchar(4000),@ResoDesc nvarchar(4000),@ResoIsShow bit,@ResoOrder int,@ResoUpdateTime datetime,@para1 nvarchar(36)',@ResoType=N'page',@ResoName=N'编辑角色',@ResoUrl=N'',@ResoDesc=N'',@ResoIsShow=0,@ResoOrder=0,@ResoUpdateTime='2017-08-01 15:37:47.597',@para1=N'3e2fb3cb-92f6-44cb-80a1-3b15157d53c5' go
一组数据库操作
1 public static EditModel Find(string ResoId) 2 { 3 EditModel editModel = new EditModel(); 4 using (var dbs = UnitService.MaiDb) 5 { 6 editModel.model = dbs.Find<SYS_Resource>(s => s, w => w.ResoId == ResoId); 7 if (!editModel.model.IsNull()) 8 { 9 var ds = dbs.ExecuteQuery<SYS_Resource>("select ResoName from SYS_Resource where ResoId = @ResoId", new SqlParameter[1] { new SqlParameter("@ResoId", editModel.model.ResoParentId) }); 10 if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) 11 { 12 editModel.ResoParentName = ds.Tables[0].Rows[0][0].ToString(); 13 } 14 } 15 } 16 return editModel; 17 }
![](https://images2017.cnblogs.com/blog/1163283/201708/1163283-20170802092231802-771348527.jpg)
exec sp_executesql N'select * from SYS_Resource where (ResoId = @para1)',N'@para1 nvarchar(36)',@para1=N'89fa1a64-6e49-42b9-b2a7-bd5fce0ea54e' go exec sp_executesql N'select ResoName from SYS_Resource where ResoId = @ResoId',N'@ResoId nvarchar(36)',@ResoId=N'74f6bb3b-8995-49b7-9b4b-db0e34aac304' go
事务操作
1 using (var dbs = UnitService.MaiDb) 2 { 3 try 4 { 5 dbs.BeginTransaction(); 6 //你的代码... 7 dbs.CommitTransaction(); 8 } 9 catch (Exception ex) 10 { 11 dbs.RollbackTransaction(); 12 } 13 }
Lambda如何转换SQL语句,请参考lambda表达式转换sql
码农的世界,不知道可以走多远,坚持多久,好好珍惜当下。
相关文章推荐
- [C#] C#访问数据库(SQL Server版本)
- C#访问数据库(SQL Server)
- C#访问数据库(SQL Server)
- c#.net 是如何访问 SQL Server 数据库
- Microsoft Visual Studio 中应用程序访问SQL Server 数据库(C#语言编写)
- 在SQL Server中使用OpenQuery访问其他数据库
- C#访问Access数据库的数据库操作类
- C#连接4种类型数据库(Access、SQL Server、Oracle、MySQL)
- Visual C# 2008+SQL Server 2005 数据库与网络开发――3.1.1 C# 2008简介
- window7下使用SQL Server 2008 R2 附加数据库 时报 无法打开物理文件 操作系统错误 5:拒绝访问 SQL Sever
- 用Java访问SQL Server 2000数据库
- VC编程中利用ADO方式访问SQL Server 2012数据库(1)- 连接数据库
- C#中数据库的访问(工厂模式)(UserLib.Database)
- SQL Server 2008R2 数据库出现“可疑”导致无法访问解决办法
- SQL Server 2008 “因为数据库正在使用,所以无法获得对数据库的独占访问权”解决方法
- Expression构建DataTable to Entity 映射委托 sqlserver 数据库里面金额类型为什么不建议用float,实例告诉你为什么不能。 sql server 多行数据合并成一列 C# 字符串大写转小写,小写转大写,数字保留,其他除外 从0开始用U盘制作启动盘装Windows10系统(联想R720笔记本)并永久激活方法 纯CSS打造淘宝导航菜单栏 C# Winform
- 使用OSQL调用脚本帮助SQL Server 2000 数据库迁移
- C#访问数据库
- 访问sql server2014数据库
- Visual C# 2008+SQL Server 2005 数据库与网络开发--第13章 使用菜单和对话框