首页 > 数据库技术 > 详细

ExecuteSql、ExecuteSqlReader的区别

时间:2021-05-10 10:46:11      阅读:24      评论:0      收藏:0      [点我收藏+]

MySqlService.cs中有两个函数:ExecuteSql、ExecuteSqlReader
原以为不同点只是前者丢弃返回值,后者返回结果保留返回值而已。
 
实际ExecuteSql缺乏this.CopyParameters(cmd);语句,
所以之前不能使用sql.AddParameter("@guid", MySqlDbType.Text, guid);语句来添加参数,否则设置的参数会丢失。(教训)
只能自己拼接sql字串符。
 
所以,后续全部使用ExecuteSqlReader。
 
另外,要注意:ExecuteSqlReader函数,此函数将返回一个reader,所以不会自动释放连接,需要在读取完后手工释放。(因为会造成数据库连接池被占满)
而MySqlService的其他ExecuteXX函数都会自己释放连接。

ExecuteSql、ExecuteSqlReader的区别

原文:https://www.cnblogs.com/tdskee/p/14749616.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!