mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-06-28 13:34:32 +08:00
Update GBase
This commit is contained in:
parent
e3a719c349
commit
8f659c618a
@ -8,6 +8,7 @@ namespace GbaseTest
|
|||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
Demo0_SqlSugarClient.Init();
|
Demo0_SqlSugarClient.Init();
|
||||||
|
Demo1_Queryable.Init();
|
||||||
Console.WriteLine("Hello World!");
|
Console.WriteLine("Hello World!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41,6 +41,51 @@ namespace SqlSugar.GBase
|
|||||||
|
|
||||||
|
|
||||||
public override object GetScalar(string sql, params SugarParameter[] parameters)
|
public override object GetScalar(string sql, params SugarParameter[] parameters)
|
||||||
|
{
|
||||||
|
if (this.Context.Ado.Transaction != null)
|
||||||
|
{
|
||||||
|
return _GetScalar(sql, parameters);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
this.Context.Ado.BeginTran();
|
||||||
|
var result = _GetScalar(sql, parameters);
|
||||||
|
this.Context.Ado.CommitTran();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
this.Context.Ado.RollbackTran();
|
||||||
|
throw ex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override async Task<object> GetScalarAsync(string sql, params SugarParameter[] parameters)
|
||||||
|
{
|
||||||
|
if (this.Context.Ado.Transaction != null)
|
||||||
|
{
|
||||||
|
return await GetScalarAsync(sql, parameters);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
this.Context.Ado.BeginTran();
|
||||||
|
var result =await GetScalarAsync(sql, parameters);
|
||||||
|
this.Context.Ado.CommitTran();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
this.Context.Ado.RollbackTran();
|
||||||
|
throw ex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private object _GetScalar(string sql, SugarParameter[] parameters)
|
||||||
{
|
{
|
||||||
if (sql == null) throw new Exception("sql is null");
|
if (sql == null) throw new Exception("sql is null");
|
||||||
if (sql.IndexOf(this.SplitCommandTag) > 0)
|
if (sql.IndexOf(this.SplitCommandTag) > 0)
|
||||||
@ -51,7 +96,7 @@ namespace SqlSugar.GBase
|
|||||||
{
|
{
|
||||||
if (item.TrimStart('\r').TrimStart('\n') != "")
|
if (item.TrimStart('\r').TrimStart('\n') != "")
|
||||||
{
|
{
|
||||||
result = base.GetScalar(item, parameters);
|
result = base.GetScalar(item, parameters);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
@ -61,7 +106,7 @@ namespace SqlSugar.GBase
|
|||||||
return base.GetScalar(sql, parameters);
|
return base.GetScalar(sql, parameters);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public override async Task<object> GetScalarAsync(string sql, params SugarParameter[] parameters)
|
private async Task<object> _GetScalarAsync(string sql, SugarParameter[] parameters)
|
||||||
{
|
{
|
||||||
if (sql == null) throw new Exception("sql is null");
|
if (sql == null) throw new Exception("sql is null");
|
||||||
if (sql.IndexOf(this.SplitCommandTag) > 0)
|
if (sql.IndexOf(this.SplitCommandTag) > 0)
|
||||||
|
@ -26,7 +26,7 @@ namespace SqlSugar.GBase
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return "select systimestamp from dual";
|
return "select sysdate from dual";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public override string GetTranslationTableName(string name)
|
public override string GetTranslationTableName(string name)
|
||||||
|
@ -22,6 +22,28 @@ namespace SqlSugar.GBase
|
|||||||
}
|
}
|
||||||
public partial class GBaseMethod : DefaultDbMethod, IDbMethods
|
public partial class GBaseMethod : DefaultDbMethod, IDbMethods
|
||||||
{
|
{
|
||||||
|
public override string Length(MethodCallExpressionModel model)
|
||||||
|
{
|
||||||
|
var parameter = model.Args[0];
|
||||||
|
return string.Format(" LENGTH({0}) ", parameter.MemberName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string IsNull(MethodCallExpressionModel model)
|
||||||
|
{
|
||||||
|
var parameter = model.Args[0];
|
||||||
|
var parameter1 = model.Args[1];
|
||||||
|
return string.Format("NVL({0},{1})", parameter.MemberName, parameter1.MemberName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string MergeString(params string[] strings)
|
||||||
|
{
|
||||||
|
return string.Join("||", strings);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetRandom()
|
||||||
|
{
|
||||||
|
return " SYS_GUID() ";
|
||||||
|
}
|
||||||
public override string GetForXmlPath()
|
public override string GetForXmlPath()
|
||||||
{
|
{
|
||||||
return " FOR XML PATH('')),1,len(N','),'') ";
|
return " FOR XML PATH('')),1,len(N','),'') ";
|
||||||
@ -61,5 +83,27 @@ namespace SqlSugar.GBase
|
|||||||
return string.Format("( {0}<>'' AND {0} IS NOT NULL )", parameter.MemberName);
|
return string.Format("( {0}<>'' AND {0} IS NOT NULL )", parameter.MemberName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public override string CharIndex(MethodCallExpressionModel model)
|
||||||
|
{
|
||||||
|
return string.Format("instr ({0},{1},1,1) ", model.Args[0].MemberName, model.Args[1].MemberName);
|
||||||
|
}
|
||||||
|
public override string Contains(MethodCallExpressionModel model)
|
||||||
|
{
|
||||||
|
var parameter = model.Args[0];
|
||||||
|
var parameter2 = model.Args[1];
|
||||||
|
return string.Format(" ({0} like '%'||{1}||'%') ", parameter.MemberName, parameter2.MemberName);
|
||||||
|
}
|
||||||
|
public override string StartsWith(MethodCallExpressionModel model)
|
||||||
|
{
|
||||||
|
var parameter = model.Args[0];
|
||||||
|
var parameter2 = model.Args[1];
|
||||||
|
return string.Format(" ({0} like {1}||'%') ", parameter.MemberName, parameter2.MemberName);
|
||||||
|
}
|
||||||
|
public override string EndsWith(MethodCallExpressionModel model)
|
||||||
|
{
|
||||||
|
var parameter = model.Args[0];
|
||||||
|
var parameter2 = model.Args[1];
|
||||||
|
return string.Format(" ({0} like '%'||{1}) ", parameter.MemberName, parameter2.MemberName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user