C#中使用数据库时,使用SqlTransaction的好处在哪?
3个回答
展开全部
首先你要理解什么叫回滚。
比如我有一个订单,订单里有一百个商品的信息,我想把这个订单插入到数据库中,那么如果不使用事务,一个一个插入,当插入到第50个的时候,我擦,断网了。。。那你现在就处于一个尴尬的境地,那50条数据并不是一个完整的数据,可能别人查询到这个订单的时候会说:“咦,不对呀,我这个订单里明明有100个商品啊,怎么只有50个”。。。如果你用了事务,那就是一次性提交这100个商品的插入操作,如果中间出现异常,这100个商品一个都不会插入数据库,而且还能调用RollBack让数据库回滚到插入操作前的状态。
另外,偷偷告诉你:使用事务一次性提交操作,比一个一个循环插入\删除\修改效率高的多(不信可以实验一下)。
比如我有一个订单,订单里有一百个商品的信息,我想把这个订单插入到数据库中,那么如果不使用事务,一个一个插入,当插入到第50个的时候,我擦,断网了。。。那你现在就处于一个尴尬的境地,那50条数据并不是一个完整的数据,可能别人查询到这个订单的时候会说:“咦,不对呀,我这个订单里明明有100个商品啊,怎么只有50个”。。。如果你用了事务,那就是一次性提交这100个商品的插入操作,如果中间出现异常,这100个商品一个都不会插入数据库,而且还能调用RollBack让数据库回滚到插入操作前的状态。
另外,偷偷告诉你:使用事务一次性提交操作,比一个一个循环插入\删除\修改效率高的多(不信可以实验一下)。
2015-07-07 · 知道合伙人软件行家
关注
展开全部
SqlTransaction是c#类里面的事务对象,能保持数据库的数据统一性。
在多条SQL同时执行的情况下就需要这个。
如三条语句,前二条执行成功了,但第三条执行错了,使用事务可以撤消前二条结果。
如果你不使用,那对业务有可能不一致
在多条SQL同时执行的情况下就需要这个。
如三条语句,前二条执行成功了,但第三条执行错了,使用事务可以撤消前二条结果。
如果你不使用,那对业务有可能不一致
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
connectionstring="data
source=.\sqlexpress;
initial
catalog=cecdom;
integrated
security=true;user
id=sa;password=lsyuan";
这是一个连接字符串的例子,你的连接字符串中没有服务器名,即“data
source
”那一段。
如果不熟悉可以使用向导创建连接。
后面的sqlcommand
是存储过程,注意检查参数是否对应。
source=.\sqlexpress;
initial
catalog=cecdom;
integrated
security=true;user
id=sa;password=lsyuan";
这是一个连接字符串的例子,你的连接字符串中没有服务器名,即“data
source
”那一段。
如果不熟悉可以使用向导创建连接。
后面的sqlcommand
是存储过程,注意检查参数是否对应。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询