SqlSugar 是一款功能强大的.NET 开源 ORM 框架。SqlSugar 具有开箱即用的特点,能够让用户快速地搭建自己的 ORM 项目。在过去的几年里,SqlSugar 一直在不断地更新和完善,目前已经成为了一款广受欢迎的开源框架。
SqlSugar 提供了强大的 SQL 数据库访问能力,用户可以使用简单的 API 实现对数据库的增删改查等操作。SqlSugar 还提供了一系列的高级功能,如延迟加载、缓存、连接池、事务等,能够让用户轻松地实现复杂的业务逻辑。
SqlSugar 的代码设计非常简洁清晰,注重代码的可读性和可维护性。框架采用了松散耦合的设计模式,使得不同的组件之间可以相对独立地进行开发和测试。此外,SqlSugar 还支持多种数据库类型,包括 MySQL、Oracle、SQL Server、PostgreSQL 等,能够满足不同用户的需求。
一句话SqlSugar 比EF更适合中国人!!!
在C#中调用存储过程是一种常见的数据库交互方式,它可以帮助你执行复杂的数据库操作。
确保数据库中已经定义了所需的存储过程。存储过程可以封装复杂的SQL查询、更新、删除等操作,通过参数传递数据。
使用SqlConnection对象来建立与数据库的连接。连接字符串应包含服务器地址、数据库名以及认证信息。
SqlCommand对象创建一个SqlCommand对象,并将CommandType设置为CommandType.StoredProcedure,这表明你将执行一个存储过程。同时,指定存储过程的名称。
如果存储过程需要参数,使用Parameters.AddWithValue方法添加参数。确保参数名称和类型与存储过程中定义的一致。
事务是作为单个逻辑单元执行的一系列操作,它是一个不可分割的工作逻辑单元。它包含了一组数据库操作命令,这组命令要么全部执行,要么全部不执行。 举个例子,我们经常用到的 ATM 存取款机,比如转账的时候,是先减去转出账户的金额,然后再在指定转入账户的金额加上转出的金额。如果刚好这个时候转出的操作已经执行完成,但是由于系统的故障,导致转入的操作失败了。那么怎么办?这就需要用到事务了,只要事务里面有一条命令未成功执行,那么数据就会回滚到事务开始之前的状态。
在ADO.NET 中,可以使用Connection 和Transaction 对象来控制事务。若要执行事务,请执行下列操作:
优点: – 简单性 – 和数据据事务差不多的快 – 独立于数据库,不同数据库的专有代码被隐藏了
缺点: – 事务不能跨越多个数据库连接 – 事务执行在数据库连接层上,所以需要在事务过程中维护一个数据库连接。

SqlDataAdapter对象通过无连接的方式完成数据库和本地DataSet之间的交互。 ADO.NET SqlDataAdapter对象通过SelectCommand、InsertCommand、UpdateCommand和 DeleteCommand属性为后台数据库提供对应的操作命令,并传递需要的参数。一般情况下,只需要提供SELECT语句和连接字符串创建 SqlDataAdapter对象,然后利用SqlCommandBuilder对象生成InsertCommand、UpdateCommand和DeleteCommand属性。
C#// 定义一个SQL查询字符串,用于从wms_material表中选择所有列,其中mlfb列的值包含用户输入的文本(txtSearch.Text)
string sql = "select * from wms_material where mlfb like '%" + txtSearch.Text + "%'";
// 创建一个新的DataSet对象,用于存储从数据库查询返回的数据
DataSet ds = new DataSet();
// 创建一个SqlCommand对象,用于执行上面定义的SQL查询
// 这里假设已经有一个名为connection的数据库连接对象
SqlCommand cmd = new SqlCommand(sql, connection);
// 创建一个SqlDataAdapter对象,用于执行SqlCommand
// SqlDataAdapter能够在DataSet和数据库之间建立桥梁,用于填充DataSet
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
// 使用SqlDataAdapter对象的Fill方法,将查询结果填充到DataSet对象ds中
adapter.Fill(ds);
使用Connection对象与数据源建∥.连接后,可以使用Command对象对数据源执行查询、添加、删除利和修收等各种操作,操作实现的方可以是使用SQL语句,也可以是使用存储过程。根据.NET Framework数据提供程序的不同Command对象可以分成4种,分别是SqlCommand、OleDbCommand、OdbcCommand和DracleCommand,在实际的编程过程中应该根据访问的数据源不同,选择相对应的Command对象。
属性
| CommandText | 获取或设置要在数据源中执行的 Transact-SQL 语句、表名或存储过程。 |
| CommandTimeout | 获取或设置在终止尝试执行命令并生成错误之前的等待时间(以秒为单位)。 |
| CommandType | 获取或设置一个值,该值指示解释 CommandText 属性的方式。 |
| Connection | 获取或设置 SqlCommand 的此实例使用的 SqlConnection。 |
| DbConnection | 获取或设置此 DbConnection 使用的 DbCommand。 (继承自 DbCommand) |
| DbParameterCollection | 获取 DbParameter 对象的集合。 (继承自 DbCommand) |
| DbTransaction | 获取或设置将在其中执行此 DbCommand 对象的 DbTransaction。 (继承自 DbCommand) |
| DesignTimeVisible | 获取或设置一个值,该值指示命令对象是否应在 Windows 窗体设计器控件中可见。 |
| Notification | 获取或设置一个指定绑定到此命令的 SqlNotificationRequest 对象的值。 |
| Parameters | 获取 SqlParameterCollection。 |
| Transaction | 获取或设置要在其中执行 SqlTransaction 的 SqlCommand。 |
| UpdatedRowSource | 获取或设置命令结果如何应用于 DataRow Update 方法 DbDataAdapter的用法。 |
方法