[鼠年全马铁人挑战] Week03 - Dapper用法笔记 part2

上週把强大的Dapper里面最常用到的查询写完, 今天要来把剩下的纪录完毕

好快


增删改

一样先来新旧对照, 增删改使用OleDb的写法跟查询差不多, 一些必要的设定都要写完整

// 宣告连线字串private string connstr = WebConfigurationManager.ConnectionStrings["oracledbconn"].ConnectionString;// 宣告OleDb连线 并带入连线字串OleDbConnection oleDbConnection = new OleDbConnection(connstr);// 宣告OleDb命令集OleDbCommand oleDbCommand = new OleDbCommand();oleDbCommand.CommandType = CommandType.Text; oleDbCommand.CommandText = "INSERT INTO Employees (EmpID, EmpName) VALUES (:EmpID, :EmpName)";  // 设定SQL字串 (删除修改在程式码上都一样, 把SQL语法替换就好)oleDbCommand.Parameters.AddWithValue("EmpID", empid);oleDbCommand.Parameters.AddWithValue("EmpName", empname);oleDbCommand.Connection = oleDbConnection;  // 设定连线// 开始对资料库存取 并将资料新增到资料表oleDbConnection.Open();int result = oleDbCommand.ExecuteNonQuery();oleDbConnection.Close();

虽然比起查询少了很多行, 但用了一堆的类别(class)一样看了就头痛阿http://img2.58codes.com/2024/emoticon46.gif

再来看看强大的Dapper的写法, 跟查询时大同小异

using (OleDbConnection oleDbConnection = new OleDbConnection(connstr)){    string querystr = "INSERT INTO Employees (EmpID, EmpName) VALUES (:EmpID, :EmpName)";    int result = oleDbConnection.Execute(querystr, new {         EmpID = empid,         EmpName = empname     });}

http://img2.58codes.com/2024/20118686esd4PUr6o5.png

以上是开发时最常使用的存取资料库方法, 只要会增删改查就很够用了, 比较深入一点会使用到对Stored Procedure的呼叫等等, 有遇到再来这研究吧~


除错(Debug)

基本上Dapper在增删改查的动作要除错时, 只要程式语法没下错, 就只要注意两个地方:

资料库连线时(XXXDbConnection)执行SQL语法时(Query或Execute)

最常遇到就是这两个
如果抓到资料库连线有问题, 有50趴机率是自己手残把连线字串写错, 另外50趴是对资料库连线失败
如果抓到是执行SQL有问题, 那100趴保证是自己手残, 不是SQL写错就是参数没带
http://img2.58codes.com/2024/emoticon01.gifhttp://img2.58codes.com/2024/emoticon01.gifhttp://img2.58codes.com/2024/emoticon01.gif

以上是除错经验谈xD


再来来谈谈Dapper的优缺点

优点

优点的部分, 基本上在上一篇有谈到就是维基百科:Dapper_ORM上面的特色
其他我自己认为的优点就是 完美

缺点

不嘴砲, 真的很好用, 不相信的赶快去用看看


这礼拜感觉篇幅有点少R, 最后来预告一下顺便冲字数
下一篇一样是来纪录开发上有在使用的套件, 前端的表格套件DataTables
敬请期待http://img2.58codes.com/2024/emoticon29.gif


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章