上週把强大的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
)一样看了就头痛阿
再来看看强大的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 });}
以上是开发时最常使用的存取资料库方法, 只要会增删改查就很够用了, 比较深入一点会使用到对Stored Procedure
的呼叫等等, 有遇到再来这研究吧~
除错(Debug)
基本上Dapper在增删改查的动作要除错时, 只要程式语法没下错, 就只要注意两个地方:
资料库连线时(XXXDbConnection)执行SQL语法时(Query或Execute)最常遇到就是这两个
如果抓到资料库连线有问题, 有50趴机率是自己手残把连线字串写错, 另外50趴是对资料库连线失败
如果抓到是执行SQL有问题, 那100趴保证是自己手残, 不是SQL写错就是参数没带
以上是除错经验谈xD
再来来谈谈Dapper的优缺点
优点
优点的部分, 基本上在上一篇有谈到就是维基百科:Dapper_ORM上面的特色
其他我自己认为的优点就是 完美
缺点
无
不嘴砲, 真的很好用, 不相信的赶快去用看看
这礼拜感觉篇幅有点少R, 最后来预告一下顺便冲字数
下一篇一样是来纪录开发上有在使用的套件, 前端的表格套件DataTables
敬请期待