C# SQL Server的封装(SQLDataAdapter等)之二(共二)

本文章仅是本人学习后总结,如有错误之处,请大家指正。
既然你看到这篇文章,说明最少懂,如果看完了还不懂。。。。。你怎么不上天呢。。。
以下Demo均以SQL Server为例说明。
七个DEMO分别说明以下情况
    1.connection字符串
    2.Command的常用的三个方法。
    3.SqlDataApater的Fill方法。
    4.SqlDataAdapter的Update和SqlDataBuilder之间的协作。
    5.如何执行存储。
    6.如何执行事务。
    7.简单的扩展,针对三层架构,表对应类,封装快速获取数据。

Demo4:
说明:SqlDataAdapter的Update和SqlDataBuilder
第一个方法:说明AcceptChanges和GetChanges()
第二个方法:说明Update()
必须理解的内容:
1.当FIll调用后DataTable中的Row的RowState均为Unchanged。
2.对行进行修改后,会改变RowState,具体RowState的请看枚举(enum)DataRowState。
3.当需要将内存数据库更新到本地数据库中,需要判断是否有RowState进行了改变,调用GetChanges()进行判断。
4.当调用完GetChanges()后,为了保持数据库一致需要进行
需要懂的DataRow中的RowState和Delete()方法,因为AcceptChanges()。
5.如果不进行调用,那么不能在进行SqlDataAdapt的Udpate操作。

    //使用SqlDataAdapter的Update进行数据更新
        //内存数据库操作完成后,对应的RowState都会进行变化
        //此处的dTable参数就是你操作完后的,也就是Fill获取后操作完的
        public static bool SQLAdapterUpdate(string comStr, DataTable dTable)
        {
            //记住comStr最好与获取数据Fill使用的字符串一致,且必须有SQL语句中必须有主键!!!
            using (SqlDataAdapter adapter = new SqlDataAdapter(comStr, SQLHelper.ConStr))
            {
                using (SqlCommandBuilder builder = new SqlCommandBuilder(adapter))
                {
                    try
                    {
                       int updateRows=adapter.Update(dTable);
                       if (updateRows == 0)
                           return false;
       
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值