static void SelectWithoutClass(System.Data.OleDb.OleDbConnection cn) { var results = cn.Query(SQLSelect, new { ItemName = SelectParameter }); var messages = results.Select(a => a.ID.ToString() + ":" + a.ItemName); Console.WriteLine(string.Join(Environment.NewLine, messages)); }
static void SelectAll(System.Data.OleDb.OleDbConnection cn) { var sql = @"SELECT * FROM Item"; var messages = cn.Query<Item>(sql).Select(a => a.ID.ToString() + ":" + a.ItemName); Console.WriteLine("------------------------------------"); Console.WriteLine(string.Join(Environment.NewLine, messages)); Console.WriteLine("------------------------------------"); }
public override object Get(System.Data.IDbConnection connection, Guid id) { var sql = GenerateSelectByIPrimaryKeyStatement(); var match = connection.Query(sql, new {Id = id}).FirstOrDefault(); return match == null ? null : new DataProviderTransaction(new DataProviderTransactionIdentifier(match.Id, match.StreamId, match.Date, new RequestIdentifier(match.RequestId, null), new DataProviderIdentifier(match.DataProvider, match.DataProviderName, match.CostPrice, match.RecommendedPrice, (DataProviderAction) match.Action, (DataProviderResponseState) match.State, (DataProviderNoRecordState) match.BillableForNoRecordState), new ConnectionTypeIdentifier(match.Connection, match.ConnectionType), new ActionIdentifier(0, match.Name), new StateIdentifier(match.StateId, match.State), new NoRecordBillableIdentifier(match.BillableForNoRecordStateId, match.BillableForNoRecordState))); }
protected int LastInsertId(System.Data.IDbConnection connection, IDbTransaction transaction) { if (provider == DbProvider.SQLite) return (int)((SQLiteConnection)connection).LastInsertRowId; return connection.Query<int>("SELECT lastval();", transaction:transaction).First(); }
static void SelectWithClass(System.Data.OleDb.OleDbConnection cn) { // この第二引数にはインテリセンスはきかない var results = cn.Query<Item>(SQLSelect, new { ItemName = SelectParameter }); // ここでインテリセンスがきく var messages = results.Select(a => a.ID.ToString() + ":" + a.ItemName); Console.WriteLine(string.Join(Environment.NewLine, messages)); }
static void GetIdentityWithDapper(System.Data.OleDb.OleDbConnection cn) { // 2回回しても問題なく動作する for (int i = 0; i < 2; i++) { var sql = "INSERT INTO Item(ItemName) VALUES (@ItemName)"; cn.Execute(sql, new { ItemName = "秋映" }); var id = (int)cn.Query("SELECT @@IDENTITY as ID").First().ID; Console.WriteLine("@@IDENTITY -> " + id.ToString()); var results = cn.Query<Item>("SELECT * FROM Item WHERE ID = @Id", new { @Id = id }); Console.WriteLine(results.First().ID + ":" + results.First().ItemName); } }