From 361cd1fe4ad3482b924e63c57e285e26f74a3fd4 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 1 Oct 2017 11:17:20 +0800 Subject: [PATCH] Update Oracle --- Src/Asp.Net/OracleTest/Demos/1_Query.cs | 10 +++--- Src/Asp.Net/OracleTest/Demos/DemoBase.cs | 2 +- Src/Asp.Net/OracleTest/Program.cs | 4 +-- .../UnitTest/ExpressionTest/Method.cs | 4 +-- .../Realization/Oracle/OracleProvider.cs | 2 +- .../SqlBuilder/OracleExpressionContext.cs | 34 ++----------------- Src/Asp.Net/SqlSugar/SqlSugarClient.cs | 2 +- 7 files changed, 14 insertions(+), 44 deletions(-) diff --git a/Src/Asp.Net/OracleTest/Demos/1_Query.cs b/Src/Asp.Net/OracleTest/Demos/1_Query.cs index cdc2003c0..2fc880931 100644 --- a/Src/Asp.Net/OracleTest/Demos/1_Query.cs +++ b/Src/Asp.Net/OracleTest/Demos/1_Query.cs @@ -144,9 +144,9 @@ namespace OrmTest.Demo { var db = GetInstance(); db.Ado.BeginTran(); - var t1 = db.Ado.SqlQuery("select 'a'"); - var t2 = db.Ado.GetInt("select 1"); - var t3 = db.Ado.GetDataTable("select 1 as id"); + var t1 = db.Ado.SqlQuery("select 'a' from dual"); + var t2 = db.Ado.GetInt("select 1 from dual"); + var t3 = db.Ado.GetDataTable("select 1 as id from dual"); db.Ado.CommitTran(); //more //db.Ado.GetXXX... @@ -179,7 +179,7 @@ namespace OrmTest.Demo var between = db.Queryable().Where(it => SqlFunc.Between(it.Id, 1, 20)).ToList(); - var getTodayList = db.Queryable().Where(it => SqlFunc.DateIsSame(it.CreateTime, DateTime.Now)).ToList(); + // var getTodayList = db.Queryable().Where(it => SqlFunc.DateIsSame(it.CreateTime, DateTime.Now)).ToList(); var joinSql = db.Queryable("student", "s").OrderBy("id").Select("id,name").ToPageList(1, 2); } @@ -359,7 +359,7 @@ namespace OrmTest.Demo var db = GetInstance(); var join3 = db.Queryable("Student", "st") .AddJoinInfo("School", "sh", "sh.id=st.schoolid") - .Where("st.id>@id") + .Where("st.id>:id") .AddParameters(new { id = 1 }) .Select("st.*").ToList(); //SELECT st.* FROM [Student] st Left JOIN School sh ON sh.id=st.schoolid WHERE st.id>@id diff --git a/Src/Asp.Net/OracleTest/Demos/DemoBase.cs b/Src/Asp.Net/OracleTest/Demos/DemoBase.cs index d1a98b058..35f67dac5 100644 --- a/Src/Asp.Net/OracleTest/Demos/DemoBase.cs +++ b/Src/Asp.Net/OracleTest/Demos/DemoBase.cs @@ -14,7 +14,7 @@ namespace OrmTest.Demo db.Ado.IsEnableLogEvent = true; db.Ado.LogEventStarting = (sql, pars) => { - Console.WriteLine(sql + "\r\n" + db.Utilities.SerializeObject(pars)); + Console.WriteLine(sql + "\r\n" + db.Utilities.SerializeObject(pars.ToDictionary(it=>it.ParameterName,it=>it.Value))); Console.WriteLine(); }; return db; diff --git a/Src/Asp.Net/OracleTest/Program.cs b/Src/Asp.Net/OracleTest/Program.cs index 50d27b69c..d33c1f064 100644 --- a/Src/Asp.Net/OracleTest/Program.cs +++ b/Src/Asp.Net/OracleTest/Program.cs @@ -23,7 +23,7 @@ namespace OrmTest new Select(1).Init(); new Field(1).Init(); // new Where(1).Init(); - new Method(1).Init(); + //new Method(1).Init(); //new JoinQuery(1).Init(); //new SingleQuery(1).Init(); //new SelectQuery(1).Init(); @@ -38,7 +38,7 @@ namespace OrmTest //new SqlSugarPerformance(100).Select(); /***Demo***/ - //OrmTest.Demo.Query.Init(); + OrmTest.Demo.Query.Init(); //OrmTest.Demo.Insert.Init(); //OrmTest.Demo.Delete.Init(); //OrmTest.Demo.Update.Init(); diff --git a/Src/Asp.Net/OracleTest/UnitTest/ExpressionTest/Method.cs b/Src/Asp.Net/OracleTest/UnitTest/ExpressionTest/Method.cs index d19b6fd6d..1f414bfa2 100644 --- a/Src/Asp.Net/OracleTest/UnitTest/ExpressionTest/Method.cs +++ b/Src/Asp.Net/OracleTest/UnitTest/ExpressionTest/Method.cs @@ -54,8 +54,8 @@ namespace OrmTest.UnitTest Between(); Equals(); Equals_2(); - DateIsSameByDay(); - DateIsSameByType(); + //DateIsSameByDay(); + //DateIsSameByType(); DateAddDay(); DateAddByType(); DateValue(); diff --git a/Src/Asp.Net/SqlSugar/Realization/Oracle/OracleProvider.cs b/Src/Asp.Net/SqlSugar/Realization/Oracle/OracleProvider.cs index 9494ca7cb..98b4cdbe2 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Oracle/OracleProvider.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Oracle/OracleProvider.cs @@ -60,7 +60,7 @@ namespace SqlSugar } public override IDataAdapter GetAdapter() { - return new SqlDataAdapter(); + return new OracleDataAdapter(); } public override IDbCommand GetCommand(string sql, SugarParameter[] parameters) { diff --git a/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs b/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs index bb93c4033..4ed6716a4 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs @@ -145,41 +145,11 @@ namespace SqlSugar } public override string DateIsSameDay(MethodCallExpressionModel model) { - var parameter = model.Args[0].MemberName; - var parameter2 = model.Args[1].MemberName; - return string.Format(" (ROUND(TO_NUMBER({0} - {1}))=0) ", parameter, parameter2); + throw new NotSupportedException("Oracle NotSupportedException DateIsSameDay"); } public override string DateIsSameByType(MethodCallExpressionModel model) { - var parameter = model.Args[0].MemberName; - var parameter2 = model.Args[1].MemberName; - var parameter3 = model.Args[2].MemberValue; - var type = (DateType)Enum.Parse(typeof(DateType), parameter3.ObjToString(), false); - int time = 1; - switch (type) - { - case DateType.Year: - time = time * 1 / 365; - break; - case DateType.Month: - time = time * 1 / 30; - break; - case DateType.Day: - break; - case DateType.Hour: - time = time * 24; - break; - case DateType.Second: - time = time * 24 * 60 * 60; - break; - case DateType.Minute: - time = time * 24 * 60; - break; - case DateType.Millisecond: - time = time * 24 * 60 * 60 * 1000; - break; - } - return string.Format(" (ROUND(TO_NUMBER({0} - {1}) * {2}) = 0) ", parameter, parameter2, time); + throw new NotSupportedException("Oracle NotSupportedException DateIsSameDay"); } public override string Length(MethodCallExpressionModel model) { diff --git a/Src/Asp.Net/SqlSugar/SqlSugarClient.cs b/Src/Asp.Net/SqlSugar/SqlSugarClient.cs index 4c36ff5c7..fd644a397 100644 --- a/Src/Asp.Net/SqlSugar/SqlSugarClient.cs +++ b/Src/Asp.Net/SqlSugar/SqlSugarClient.cs @@ -345,7 +345,7 @@ namespace SqlSugar public ISugarQueryable SqlQueryable(string sql) where T : class, new() { var sqlBuilder = InstanceFactory.GetSqlbuilder(this.Context.CurrentConnectionConfig); - return this.Queryable().AS(sqlBuilder.GetPackTable(sql, sqlBuilder.GetDefaultShortName())); + return this.Queryable().AS(sqlBuilder.GetPackTable(sql, sqlBuilder.GetDefaultShortName())).Select("*"); } #endregion