From df1fa0581faf72ae71895dae0e1df999655d54b5 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Mon, 21 Feb 2022 01:03:03 +0800 Subject: [PATCH] Update Access --- .../AccessTest/Demo/Demo1_Queryable.cs | 128 ++++++------ .../AccessTest/Demo/Demo2_Updateable.cs | 20 +- .../AccessTest/Demo/Demo3_Insertable.cs | 194 +++++++++--------- Src/Asp.Net/AccessTest/Demo/Demo7_Ado.cs | 27 +-- Src/Asp.Net/AccessTest/Program.cs | 18 +- Src/Asp.Net/AccessTest/Test.accdb | Bin 532480 -> 565248 bytes Src/Asp.Net/AccessTest/Test.laccdb | Bin 64 -> 0 bytes .../DbMaintenance/AccessDbMaintenance.cs | 1 + .../Access/SqlBuilder/AccessUpdateBuilder.cs | 5 + 9 files changed, 181 insertions(+), 212 deletions(-) delete mode 100644 Src/Asp.Net/AccessTest/Test.laccdb diff --git a/Src/Asp.Net/AccessTest/Demo/Demo1_Queryable.cs b/Src/Asp.Net/AccessTest/Demo/Demo1_Queryable.cs index 3b139e5ab..997d02414 100644 --- a/Src/Asp.Net/AccessTest/Demo/Demo1_Queryable.cs +++ b/Src/Asp.Net/AccessTest/Demo/Demo1_Queryable.cs @@ -13,15 +13,15 @@ namespace OrmTest public static void Init() { EasyExamples(); - QueryConditions(); + //QueryConditions(); JoinTable(); - Async(); - NoEntity(); - Mapper(); - SqlFuncTest(); - Subquery(); - ReturnType(); - ConfiQuery(); + //Async(); + //NoEntity(); + //Mapper(); + //SqlFuncTest(); + //Subquery(); + //ReturnType(); + //ConfiQuery(); } private static void ConfiQuery() @@ -137,43 +137,43 @@ namespace OrmTest int c = 0; var test10 = db.Queryable().ToPageList(1, 2, ref c); var test11 = db.Queryable().GroupBy(it=>new { it.CreateTime.Year }).Select(it=>it.CreateTime.Year).ToList(); - var test12 = db.Queryable().GroupBy(it => it.CreateTime.Date ).Select(it => it.CreateTime.Date).ToList(); - var test13 = db.Queryable().GroupBy(it => new { it.CreateTime.Date ,it.CreateTime.Year,it.CreateTime.Minute }) - .Select(it => new { it.CreateTime.Date, it.CreateTime.Year, it.CreateTime.Minute }).ToList(); - var test14 = db.Queryable() - .GroupBy(it => it.CreateTime.Year ) - .GroupBy(it => it.CreateTime.Second) - .GroupBy(it => it.CreateTime.Date) - .Select(it => new { - it.CreateTime.Year, - it.CreateTime.Second, - it.CreateTime.Date - }).ToList(); + // var test12 = db.Queryable().GroupBy(it => it.CreateTime.Date ).Select(it => it.CreateTime.Date).ToList(); + //var test13 = db.Queryable().GroupBy(it => new { it.CreateTime.Date ,it.CreateTime.Year,it.CreateTime.Minute }) + // .Select(it => new { it.CreateTime.Date, it.CreateTime.Year, it.CreateTime.Minute }).ToList(); + //var test14 = db.Queryable() + // .GroupBy(it => it.CreateTime.Year ) + // .GroupBy(it => it.CreateTime.Second) + // .GroupBy(it => it.CreateTime.Date) + // .Select(it => new { + // it.CreateTime.Year, + // it.CreateTime.Second, + // it.CreateTime.Date + // }).ToList(); var test15 = db.Queryable((o, i) => new JoinQueryInfos( JoinType.Left, o.Name == SqlFunc.ToString(SqlFunc.MergeString(",", i.Name, ",")) )) .Select().ToList(); // var test16 = db.Queryable().Select(it => SqlFunc.SqlServer_DateDiff("day", DateTime.Now.AddDays(-1), DateTime.Now)).ToList(); - var test17 = - db.Queryable() - .Select() - .MergeTable() - .Select(it => new ViewOrder() - { - Name = SqlFunc.Subqueryable().Select(s => s.Name) - }).ToList(); ; - var test18 = db.UnionAll( - db.Queryable() , - db.Queryable() - ) - .Select(it=>new ViewOrder(){ - Name=SqlFunc.Subqueryable().Select(s=>s.Name) - }).ToList(); + //var test17 = + // db.Queryable() + // .Select() + // .MergeTable() + // .Select(it => new ViewOrder() + // { + // Name = SqlFunc.Subqueryable().Select(s => s.Name) + // }).ToList(); ; + //var test18 = db.UnionAll( + // db.Queryable() , + // db.Queryable() + // ) + // .Select(it=>new ViewOrder(){ + // Name=SqlFunc.Subqueryable().Select(s=>s.Name) + // }).ToList(); var test19 = db.Queryable().Select().ToList(); var test20 = db.Queryable().LeftJoin((o, cs) =>o.Id==cs.Id) .ToDictionary(it => it.Id, it => it.Name); - var test21 = db.Queryable().Where(it=>it.Id.ToString()==1.ToString()).Select(it => it.CreateTime.ToString("24")).First(); + //var test21 = db.Queryable().Where(it=>it.Id.ToString()==1.ToString()).Select(it => it.CreateTime.ToString("24")).First(); Console.WriteLine("#### Examples End ####"); } @@ -397,12 +397,12 @@ namespace OrmTest .Select() .ToList(); - //Join table - var list2 = db.Queryable((o, i, c) => new JoinQueryInfos( - JoinType.Left, o.Id == i.OrderId, - JoinType.Left, c.Id == o.CustomId - )) - .Select().ToList(); + // //Join table + // var list2 = db.Queryable((o, i, c) => new JoinQueryInfos( + // JoinType.Left, o.Id == i.OrderId, + // JoinType.Left, c.Id == o.CustomId + // )) + //.Select().ToList(); //Join queryable var query1 = db.Queryable((o, i) => new JoinQueryInfos( @@ -421,36 +421,36 @@ namespace OrmTest - var query4 = db.Queryable( - db.Queryable().Where(it => it.Name.Contains("a")), - db.Queryable().Where(it => it.CreateTime>DateTime.Now), - db.Queryable().Where(it => it.Name.Contains("b")), - JoinType.Left, (o, i, c) => o.Id==i.OrderId, - JoinType.Left,(o,i,c)=>o.CustomId==c.Id + //var query4 = db.Queryable( + // db.Queryable().Where(it => it.Name.Contains("a")), + // db.Queryable().Where(it => it.CreateTime>DateTime.Now), + // db.Queryable().Where(it => it.Name.Contains("b")), + // JoinType.Left, (o, i, c) => o.Id==i.OrderId, + // JoinType.Left,(o,i,c)=>o.CustomId==c.Id - ).Select(o=>o).ToList(); + // ).Select(o=>o).ToList(); - var query5 = db.Queryable() - .InnerJoin((o, cus) => o.CustomId == cus.Id) - .InnerJoin((o, cus, oritem) => o.Id == oritem.OrderId) - .Where((o) => o.Id == 1) - .Select((o, cus) => new ViewOrder { Id=o.Id, CustomName = cus.Name }) - .ToList(); + //var query5 = db.Queryable() + // .InnerJoin((o, cus) => o.CustomId == cus.Id) + // .InnerJoin((o, cus, oritem) => o.Id == oritem.OrderId) + // .Where((o) => o.Id == 1) + // .Select((o, cus) => new ViewOrder { Id=o.Id, CustomName = cus.Name }) + // .ToList(); - var query6 = db.Queryable(db.Queryable()).LeftJoin((m, i) => m.Id == i.OrderId) - .ToList(); + //var query6 = db.Queryable(db.Queryable()).LeftJoin((m, i) => m.Id == i.OrderId) + // .ToList(); - var query7 = db.Queryable(db.Queryable().Select().MergeTable()).LeftJoin((m, i) => m.Id == i.OrderId) - .ToList(); + //var query7 = db.Queryable(db.Queryable().Select().MergeTable()).LeftJoin((m, i) => m.Id == i.OrderId) + // .ToList(); - var query8 = db.Queryable() - .LeftJoin(db.Queryable().Where(it=>it.Id==1),(o,i)=>o.CustomId==i.Id) - .LeftJoin(db.Queryable().Where(it=>it.OrderId==2),(o,i,item)=>item.OrderId==o.Id) - .LeftJoin(db.Queryable().Where(it => it.Id >0), (o, i, item, od) => od.Id == o.Id) - .Select(o => o).ToList(); + //var query8 = db.Queryable() + // .LeftJoin(db.Queryable().Where(it=>it.Id==1),(o,i)=>o.CustomId==i.Id) + // .LeftJoin(db.Queryable().Where(it=>it.OrderId==2),(o,i,item)=>item.OrderId==o.Id) + // .LeftJoin(db.Queryable().Where(it => it.Id >0), (o, i, item, od) => od.Id == o.Id) + // .Select(o => o).ToList(); Console.WriteLine("#### Join Table End ####"); } diff --git a/Src/Asp.Net/AccessTest/Demo/Demo2_Updateable.cs b/Src/Asp.Net/AccessTest/Demo/Demo2_Updateable.cs index d0a3b849d..308da3060 100644 --- a/Src/Asp.Net/AccessTest/Demo/Demo2_Updateable.cs +++ b/Src/Asp.Net/AccessTest/Demo/Demo2_Updateable.cs @@ -35,14 +35,14 @@ namespace OrmTest /*** 1.entity or List ***/ var updateObj = new Order() { Id = 1, Name = "order1" }; - var updateObjs = new List { - new Order() { Id = 11, Name = "order11" }, - new Order() { Id = 12, Name = "order12" } - }; + //var updateObjs = new List { + // new Order() { Id = 11, Name = "order11" }, + // new Order() { Id = 12, Name = "order12" } + //}; //update all columns by primary key var result = db.Updateable(updateObj).ExecuteCommand();//update single - var result2 = db.Updateable(updateObjs).ExecuteCommand();//update List + //var result2 = db.Updateable(updateObjs).ExecuteCommand();//update List //Ignore Name and Price var result3 = db.Updateable(updateObj).IgnoreColumns(it => new { it.CreateTime, it.Price }).ExecuteCommand(); @@ -52,10 +52,10 @@ namespace OrmTest //If there is no primary key var result5 = db.Updateable(updateObj).WhereColumns(it => new { it.Id }).ExecuteCommand();//update single by id - var result6 = db.Updateable(updateObjs).WhereColumns(it => new { it.Id }).ExecuteCommand();//update List by id + //var result6 = db.Updateable(updateObjs).WhereColumns(it => new { it.Id }).ExecuteCommand();//update List by id //Re set value - var result66 = db.Updateable(new List { updateObj }).ReSetValue(it => it.Id = 112).IgnoreColumns(it => new { it.CreateTime, it.Price }).ExecuteCommand(); + //var result66 = db.Updateable(new List { updateObj }).ReSetValue(it => it.Id = 112).IgnoreColumns(it => new { it.CreateTime, it.Price }).ExecuteCommand(); @@ -81,7 +81,7 @@ namespace OrmTest dtList.Add(dt); var t66 = db.Updateable(dt).AS("[Order]").WhereColumns("id").ExecuteCommand(); - var t666 = db.Updateable(dtList).AS("[Order]").WhereColumns("id").ExecuteCommand(); + // var t666 = db.Updateable(dtList).AS("[Order]").WhereColumns("id").ExecuteCommand(); @@ -109,8 +109,8 @@ namespace OrmTest .AddQueue(); db.SaveQueues(); - var dataTable = db.Queryable().Select("id,name,1 as price").Take(2).ToDataTable(); - db.Fastest().BulkUpdate("Order", dataTable,new string[] {"id" },new string[] {"name" }); + //var dataTable = db.Queryable().Select("id,name,1 as price").Take(2).ToDataTable(); + //db.Fastest().BulkUpdate("Order", dataTable,new string[] {"id" },new string[] {"name" }); Console.WriteLine("#### Updateable End ####"); } diff --git a/Src/Asp.Net/AccessTest/Demo/Demo3_Insertable.cs b/Src/Asp.Net/AccessTest/Demo/Demo3_Insertable.cs index ea0a25bb9..8fa85bb42 100644 --- a/Src/Asp.Net/AccessTest/Demo/Demo3_Insertable.cs +++ b/Src/Asp.Net/AccessTest/Demo/Demo3_Insertable.cs @@ -31,12 +31,12 @@ namespace OrmTest }); var insertObj = new Order() { Id = 1, Name = "order1", Price = 0 }; - var insertObjs = new List { - new Order() { Id = 11, Name = "XX", Price=0 }, - new Order() { Id = 12, Name = "XX2" , Price=0} - }; + //var insertObjs = new List { + // new Order() { Id = 11, Name = "XX", Price=0 }, + // new Order() { Id = 12, Name = "XX2" , Price=0} + //}; - var x=db.Insertable(insertObjs).RemoveDataCache().IgnoreColumns(it=>it.CreateTime).UseParameter().ExecuteCommand(); + //var x=db.Insertable(insertObjs).RemoveDataCache().IgnoreColumns(it=>it.CreateTime).UseParameter().ExecuteCommand(); //Ignore CreateTime db.Insertable(insertObj).IgnoreColumns(it => new { it.CreateTime }).ExecuteReturnIdentity();//get identity @@ -47,108 +47,108 @@ namespace OrmTest db.Insertable(insertObj).InsertColumns("Name", "Price").ExecuteReturnIdentity(); //ignore null columns - db.Insertable(insertObjs).ExecuteCommand();//get change row count + // db.Insertable(insertObjs).ExecuteCommand();//get change row count //Use Lock db.Insertable(insertObj).With(SqlWith.UpdLock).ExecuteCommand(); - insertObjs = new List { - new Order() { Id = 11, Name = "order11", Price=1 }, - new Order() { Id = 12, Name = "order12" , Price=20, CreateTime=DateTime.Now, CustomId=1} - }; - db.Insertable(insertObjs).UseSqlServer().ExecuteBulkCopy(); + //insertObjs = new List { + // new Order() { Id = 11, Name = "order11", Price=1 }, + // new Order() { Id = 12, Name = "order12" , Price=20, CreateTime=DateTime.Now, CustomId=1} + //}; + //db.Insertable(insertObjs).UseSqlServer().ExecuteBulkCopy(); var dt = db.Queryable().Take(5).ToDataTable(); dt.TableName = "Order"; - db.Insertable(dt).UseSqlServer().ExecuteBulkCopy(); - db.CodeFirst.InitTables(); - db.CodeFirst.InitTables(); - db.DbMaintenance.TruncateTable("RootTable0"); - db.DbMaintenance.TruncateTable("TwoItem"); - db.DbMaintenance.TruncateTable("TwoItem2"); - db.DbMaintenance.TruncateTable("TwoItem3"); - db.DbMaintenance.TruncateTable("ThreeItem2"); - Console.WriteLine("SubInsert Start"); + //db.Insertable(dt).UseSqlServer().ExecuteBulkCopy(); + // db.CodeFirst.InitTables(); + // db.CodeFirst.InitTables(); + // db.DbMaintenance.TruncateTable("RootTable0"); + // db.DbMaintenance.TruncateTable("TwoItem"); + // db.DbMaintenance.TruncateTable("TwoItem2"); + // db.DbMaintenance.TruncateTable("TwoItem3"); + // db.DbMaintenance.TruncateTable("ThreeItem2"); + // Console.WriteLine("SubInsert Start"); - db.Insertable(new Order() - { - Name = "订单 1", - CustomId = 1, - Price = 100, - CreateTime = DateTime.Now, - Id = 0, - Items = new List() { - new OrderItem(){ - CreateTime=DateTime.Now, - OrderId=0, - Price=1, - ItemId=1 - }, - new OrderItem(){ - CreateTime=DateTime.Now, - OrderId=0, - Price=2, - ItemId=2 - } - } - }) - .AddSubList(it => it.Items.First().OrderId).ExecuteCommand(); + // db.Insertable(new Order() + // { + // Name = "订单 1", + // CustomId = 1, + // Price = 100, + // CreateTime = DateTime.Now, + // Id = 0, + // Items = new List() { + // new OrderItem(){ + // CreateTime=DateTime.Now, + // OrderId=0, + // Price=1, + // ItemId=1 + // }, + // new OrderItem(){ + // CreateTime=DateTime.Now, + // OrderId=0, + // Price=2, + // ItemId=2 + // } + // } + // }) + // .AddSubList(it => it.Items.First().OrderId).ExecuteCommand(); - db.Insertable(new List() { - new RootTable0() - { - Name="aa", - TwoItem2=new TwoItem2() { - Id="1", - ThreeItem2=new List(){ - new ThreeItem2(){ Name="a", TwoItem2Id="1" }, - new ThreeItem2(){ Id=2, Name="a2", TwoItem2Id="2" } - } - }, - TwoItem=new TwoItem() - { - Name ="itema" , - RootId=2 - }, - TwoItem3=new List(){ - new TwoItem3(){ Id=0, Name="a",Desc="" }, + // db.Insertable(new List() { + // new RootTable0() + // { + // Name="aa", + // TwoItem2=new TwoItem2() { + // Id="1", + // ThreeItem2=new List(){ + // new ThreeItem2(){ Name="a", TwoItem2Id="1" }, + // new ThreeItem2(){ Id=2, Name="a2", TwoItem2Id="2" } + // } + // }, + // TwoItem=new TwoItem() + // { + // Name ="itema" , + // RootId=2 + // }, + // TwoItem3=new List(){ + // new TwoItem3(){ Id=0, Name="a",Desc="" }, - } - }, - new RootTable0() - { - Name="bb", - TwoItem2=new TwoItem2() { - Id="2" - }, - TwoItem=new TwoItem() - { - Name ="itemb" , - RootId=2, + // } + // }, + // new RootTable0() + // { + // Name="bb", + // TwoItem2=new TwoItem2() { + // Id="2" + // }, + // TwoItem=new TwoItem() + // { + // Name ="itemb" , + // RootId=2, - }, - TwoItem3=new List(){ - new TwoItem3(){ Id=1, Name="b",Desc="" }, - new TwoItem3(){ Id=2, Name="b1",Desc="1" }, - } - } - }) - .AddSubList(it => it.TwoItem.RootId) - .AddSubList(it => new SubInsertTree() - { - Expression = it.TwoItem2.RootId, - ChildExpression = new List() { - new SubInsertTree(){ - Expression=it.TwoItem2.ThreeItem2.First().TwoItem2Id - } - } - }) - .AddSubList(it => it.TwoItem3) - .ExecuteCommand(); + // }, + // TwoItem3=new List(){ + // new TwoItem3(){ Id=1, Name="b",Desc="" }, + // new TwoItem3(){ Id=2, Name="b1",Desc="1" }, + // } + // } + // }) + //.AddSubList(it => it.TwoItem.RootId) + //.AddSubList(it => new SubInsertTree() + //{ + // Expression = it.TwoItem2.RootId, + // ChildExpression = new List() { + // new SubInsertTree(){ + // Expression=it.TwoItem2.ThreeItem2.First().TwoItem2Id + // } + // } + //}) + //.AddSubList(it => it.TwoItem3) + //.ExecuteCommand(); - SubNoIdentity(db); - SubIdentity(db); + // SubNoIdentity(db); + // SubIdentity(db); var dict = new Dictionary(); @@ -158,11 +158,11 @@ namespace OrmTest db.Insertable(dict).AS("[Order]").ExecuteCommand(); - db.Fastest().BulkCopy(insertObjs); + //db.Fastest().BulkCopy(insertObjs); - var dataTable= db.Queryable().Select("id,name,Price").Take(2).ToDataTable(); - int result= db.Fastest().BulkCopy("order", dataTable); + //var dataTable= db.Queryable().Select("id,name,Price").Take(2).ToDataTable(); + //int result= db.Fastest().BulkCopy("order", dataTable); Console.WriteLine("#### Insertable End ####"); } diff --git a/Src/Asp.Net/AccessTest/Demo/Demo7_Ado.cs b/Src/Asp.Net/AccessTest/Demo/Demo7_Ado.cs index 510f6530b..15843948e 100644 --- a/Src/Asp.Net/AccessTest/Demo/Demo7_Ado.cs +++ b/Src/Asp.Net/AccessTest/Demo/Demo7_Ado.cs @@ -39,35 +39,14 @@ namespace OrmTest var dt2 = db.Ado.GetDataTable("select * from [order] where @id>0 or name=@name", new { id = 1, name = "2" }); - //create sp - db.Ado.ExecuteCommand(@" - if object_id('up_user') is not null - drop proc up_user;"); - db.Ado.ExecuteCommand(@" - create proc up_user - @id int, - @name varchar(10) ='' output - as - - begin - set @name='abc' - select @id as id - end - "); - //get output - var dt3 = db.Ado.UseStoredProcedure().GetDataTable("up_user", new { name = "张三", id = 0 }); - var IdP = new SugarParameter("@id", 1); - var NameP = new SugarParameter("@name", null, true);//isOutput=true - var dt4 = db.Ado.UseStoredProcedure().GetDataTable("up_user", IdP, NameP); - var outputValue = NameP.Value; - + //There are many methods to under db.ado var list = db.Ado.SqlQuery("select * from [order] "); - var list2 = db.Ado.SqlQuery("select * from [order] where 1=2;select * from [order] "); + var list3 = db.Ado.SqlQuery(" delete from [order] where 2=15 "); var intValue = db.Ado.SqlQuerySingle("select 1"); - db.Ado.ExecuteCommand("delete [order] where id>1000"); + db.Ado.ExecuteCommand("delete from [order] where id>1000"); db.SqlQueryable(@"select * from custom").ToList(); diff --git a/Src/Asp.Net/AccessTest/Program.cs b/Src/Asp.Net/AccessTest/Program.cs index 15b4b3dee..c52df209a 100644 --- a/Src/Asp.Net/AccessTest/Program.cs +++ b/Src/Asp.Net/AccessTest/Program.cs @@ -19,24 +19,8 @@ namespace OrmTest Demo3_Insertable.Init(); Demo4_Deleteable.Init(); Demo5_SqlQueryable.Init(); - DemoN_SplitTable.Init(); - Demo6_Queue.Init(); Demo7_Ado.Init(); - Demo8_Saveable.Init(); - Demo9_EntityMain.Init(); - DemoA_DbMain.Init(); - DemoB_Aop.Init(); - DemoC_GobalFilter.Init(); - DemoD_DbFirst.Init();; - DemoE_CodeFirst.Init(); - DemoF_Utilities.Init(); - DemoG_SimpleClient.Init(); - DemoH_Tenant.Init(); - DemoJ_Report.Init(); - DemoL_Snowflake.Init(); - DemoM_UnitOfWork.Init(); - ; - + //DemoD_DbFirst.Init(); Console.WriteLine("all successfully."); Console.ReadKey(); } diff --git a/Src/Asp.Net/AccessTest/Test.accdb b/Src/Asp.Net/AccessTest/Test.accdb index 47b8c07fee37d90fc993e3bebd53b8cceab95f9e..ebba702988da9b41c5498bfd5c6ab44ba186aaa7 100644 GIT binary patch delta 16925 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 B{3!qc delta 3969 zcmciEYjhO#8OQOt?fz$PGaEueNJ6sVl7yJM+zBD!rWG1eMWu=e7%5^vA{QeUcYz3j zDzGdtkXn*OOKC*hB$Tz(VnAD|jU_;ihgY&HTBw|!Xl?7UhuYusKw(jM+s&Eeli8VP zc4of2NuYCJpwkyo3?*0T@EW~x$Y;3Qz1?Q$bY@ZL+sp*HAe7)M^%O}r9z`A1zD`qa z3?&qo%0;1B)xM6J;=SXQG)HJ{b80AKNw!~-B`z6RTRuWcpMaO}prU!8PqI(7=3I$siuT<(a~jg~tKm!5G4BT1Sj z?{MPQKKW_IlzeM%xyXz* zmW!3LdfZ*d=M~70j_6i)%h6b+cvNl+A9wGn7G8T7cJGm_ZREes%V)O44=1Rb;9BI2PDZMN%bxCzOChtLl&`0y!^Nvm+l>%D|jAc2qu^dY1JiG%?_ zUqS|uM92h^2|l17Aqz+$3&F21^$=jt;U5M#uUP=+^$5Uu&BpZ) za9@vN756m<;J)Sp+}AvS`+5xEzG?vO>v4elnh$VaKLNO}1pxYzq$dE*YazgSJqd7L zwYdHP?rRZNabJr8?&~Rl`&t5UUv&WY^)$eJEd{u*WdQfJ9N@lI0MwWC48VES1Dw~h z0Oz$5@N-|QAnpsFLjmq<4ZwXp2XJ3>r?@W+4RBv;0q$!Zz$G8*V7V)RQL5Z8DZ;23`maEwO)jxh>wjBfxO<8J_t@hHGC{ubaE-vl_u z-vJ!sF@R%y3*Z<#0glms9O4>J0374n0LS`N#{|s=9r%E8Mu^ZqIyVC&2cn07Y&jK7{4^Yt-{>tu`<$MY6HGWK# zy3E~Xjah7dXtWwL4ZCsJGtcAo9CO#ZOWl`U`(1Nf*{)vaQD=j*%9-knIa(dd9OVw( z(W5u%HF}}`wKyTRh#4Y7T(q~_SKIHl8}@UyeYRTL2%BO%scqM0Y1vw@`lh;0ou($M zvA#;HvO+0S>`J%XB-hBr@;{}{V7NdP($rwMul1^_XIVV~@vxXH&66IJhDNK_it+OG z-wv)5>9VzXs6MFAwGHqWlD<^w5n%-_k!($G5LuSiAg)~B$@hHxi03xYhz~HL@ApSY zdGsni--r<(Y!p{+b&xNba1j3{Y%y$8+(D{0i}@N(!?4V)Vz4dowHugYdA5n^ZQ)#}tXY+f zA~_h*qRmaBZit*>C3K2X{HX4>^|Pi|E6(WSonlC4Xvve4v6R>}Iijx)h6h+VABhL8 z?ijv(yI36;jGVP%ABpAG){n(lOZ!ADv)Vs_axRF2);~Ul7Jeo!Sug%YjIx$qgmzsL zqpj#)@kGn#P~v4VHrjYu)T?cgB{q*Nj}iE2=0}R<=@t0*cZ`VE|4Y22`}53Rh(O|GKJ{C?eK>b3q?94fYQ4570I7H8=M%abr+G1CA-VnRytZ2t@#z6bmE( diff --git a/Src/Asp.Net/SqlSugar.Access/Access/DbMaintenance/AccessDbMaintenance.cs b/Src/Asp.Net/SqlSugar.Access/Access/DbMaintenance/AccessDbMaintenance.cs index fad996fcf..43ef96988 100644 --- a/Src/Asp.Net/SqlSugar.Access/Access/DbMaintenance/AccessDbMaintenance.cs +++ b/Src/Asp.Net/SqlSugar.Access/Access/DbMaintenance/AccessDbMaintenance.cs @@ -318,6 +318,7 @@ namespace SqlSugar.Access } public override List GetTableInfoList(bool isCache = true) { + // (this.Context.Ado.Connection as OleDbConnection).Open(); var table = (this.Context.Ado.Connection as OleDbConnection).GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new Object[] { null, null, null, "Table" }); var result= table .Rows.Cast().Select(it=>new DbTableInfo diff --git a/Src/Asp.Net/SqlSugar.Access/Access/SqlBuilder/AccessUpdateBuilder.cs b/Src/Asp.Net/SqlSugar.Access/Access/SqlBuilder/AccessUpdateBuilder.cs index d2164498a..e5e58357c 100644 --- a/Src/Asp.Net/SqlSugar.Access/Access/SqlBuilder/AccessUpdateBuilder.cs +++ b/Src/Asp.Net/SqlSugar.Access/Access/SqlBuilder/AccessUpdateBuilder.cs @@ -8,5 +8,10 @@ namespace SqlSugar.Access { public class AccessUpdateBuilder : UpdateBuilder { + protected override string TomultipleSqlString(List> groupList) + { + throw new Exception("access no support batch update"); + } + } }