[轉][Dapper]SQL 經驗集
阿新 • • 發佈:2017-06-10
security data where cti 參數化查詢 nec using string upd
conn.Query<Users>("SELECT * FROM Users WHERE id IN @ids ",new { ids = new string[] { "a", "b" }}).ToList(); 這樣就可以達到 in 參數化查詢的目地。 conn.QuerySingle<string>("select Count(*) from Users where str like @a", new { a = "%bx%" }, tran); 這樣就可以達到 like 參數化查詢的目地。
condition.Append(" AND ChineseName like @name"); p.Add("@name", "%" + name + "%", System.Data.DbType.String);
like 也可以參數化查詢。
@a MSSQL 的參數寫法
:a Oracle 的參數寫法
? OleDb 的參數寫法
Access 中 * 表示模糊匹配
MSSQL / Oracle 中 % 表示模糊匹配
Access 默認的 OleDb 連接中 “Provider=Microsoft.Jet.OLEDB.4.0” 用的是 Access 2000,這個版本不支持 Replace 函數。
Dapper 是一個輕量的 ORM,可以方便的使用在 .net 項目中。
conn.Query<Users>("SELECT * FROM Users WHERE id IN @ids ",new { ids = new string[] { "a", "b" }}).ToList(); 這樣就可以達到 in 參數化查詢的目地。 conn.QuerySingle<string>("select Count(*) from Users where str like @a", new { a = "%bx%" }, tran); 這樣就可以達到 like 參數化查詢的目地。
using(IDbConnection conn = new SqlConnection("Data Source=.;Initial Catalog=test;Integrated Security=True")) { conn.Open(); using (IDbTransaction tran = conn.BeginTransaction()) { conn.Execute("update table1 set ic=‘1‘ where [email protected]", new { a = "123" }, tran); conn.Execute("update table2 set ic=‘3‘ where [email protected]", new { a = "1234" }, tran); tran.Commit(); } }
這是一個使用 Dapper 調用事務的例子。
[轉][Dapper]SQL 經驗集