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)
|
||||
{
|
||||
Demo0_SqlSugarClient.Init();
|
||||
Demo1_Queryable.Init();
|
||||
Console.WriteLine("Hello World!");
|
||||
}
|
||||
}
|
||||
|
@ -41,6 +41,51 @@ namespace SqlSugar.GBase
|
||||
|
||||
|
||||
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.IndexOf(this.SplitCommandTag) > 0)
|
||||
@ -51,7 +96,7 @@ namespace SqlSugar.GBase
|
||||
{
|
||||
if (item.TrimStart('\r').TrimStart('\n') != "")
|
||||
{
|
||||
result = base.GetScalar(item, parameters);
|
||||
result = base.GetScalar(item, parameters);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
@ -61,7 +106,7 @@ namespace SqlSugar.GBase
|
||||
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.IndexOf(this.SplitCommandTag) > 0)
|
||||
|
@ -26,7 +26,7 @@ namespace SqlSugar.GBase
|
||||
{
|
||||
get
|
||||
{
|
||||
return "select systimestamp from dual";
|
||||
return "select sysdate from dual";
|
||||
}
|
||||
}
|
||||
public override string GetTranslationTableName(string name)
|
||||
|
@ -22,6 +22,28 @@ namespace SqlSugar.GBase
|
||||
}
|
||||
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()
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
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