From f45d607debb34a23ee17d0703067bae82b9e0f8b Mon Sep 17 00:00:00 2001
From: sunkaixuan <610262374@qq.com>
Date: Sat, 23 Dec 2023 17:24:12 +0800
Subject: [PATCH] Update TDengineCore
---
.../SqlSugar.TDengineCore.csproj | 2 +-
.../TDengine/DbBind/TDengineDbBind.cs | 43 ++++++++++++++++---
.../SqlBuilder/TDengineExpressionContext.cs | 2 +-
.../TDengineDataAdapter.cs | 22 ++++++++--
4 files changed, 57 insertions(+), 12 deletions(-)
diff --git a/Src/Asp.NetCore2/SqlSugar.TDengineCore/SqlSugar.TDengineCore.csproj b/Src/Asp.NetCore2/SqlSugar.TDengineCore/SqlSugar.TDengineCore.csproj
index c04f215e5..ab8fbabb8 100644
--- a/Src/Asp.NetCore2/SqlSugar.TDengineCore/SqlSugar.TDengineCore.csproj
+++ b/Src/Asp.NetCore2/SqlSugar.TDengineCore/SqlSugar.TDengineCore.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/DbBind/TDengineDbBind.cs b/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/DbBind/TDengineDbBind.cs
index e62aacfd9..61ad8cbcb 100644
--- a/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/DbBind/TDengineDbBind.cs
+++ b/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/DbBind/TDengineDbBind.cs
@@ -28,33 +28,62 @@ namespace SqlSugar.TDengine
}
public override string GetPropertyTypeName(string dbTypeName)
{
- if (dbTypeName.ToLower() == "int32")
+ dbTypeName = dbTypeName.ToLower();
+ if (dbTypeName == "int32")
{
dbTypeName = "int";
}
- else if (dbTypeName.ToLower() == "int16")
+ else if (dbTypeName == "int16")
{
dbTypeName = "short";
}
- else if (dbTypeName.ToLower() == "int64")
+ else if (dbTypeName == "int64")
{
dbTypeName = "long";
}
- else if (dbTypeName.ToLower() == "string")
+ else if (dbTypeName == "string")
{
dbTypeName = "string";
}
- else if (dbTypeName.ToLower() == "boolean")
+ else if (dbTypeName == "boolean")
{
dbTypeName = "bool";
}
- else if (dbTypeName.ToLower() == "sbyte")
+ else if (dbTypeName == "bool")
+ {
+ dbTypeName = "bool";
+ }
+ else if (dbTypeName == "sbyte")
{
dbTypeName = "sbyte";
}
- else if (dbTypeName.ToLower() == "double")
+ else if (dbTypeName == "double")
{
dbTypeName = "double";
+ }
+ else if (dbTypeName == "binary")
+ {
+ dbTypeName = "string";
+ }
+ else if (dbTypeName == "timestamp")
+ {
+ dbTypeName = "DateTime";
+ }
+ else if (dbTypeName == "bigint")
+ {
+ dbTypeName = "long";
+ }
+ else if (dbTypeName == "char")
+ {
+ dbTypeName = "string";
+ }
+ else if (dbTypeName == "smallint")
+ {
+ dbTypeName = "int";
+ }
+ else
+ {
+
}
return dbTypeName;
}
diff --git a/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/SqlBuilder/TDengineExpressionContext.cs b/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/SqlBuilder/TDengineExpressionContext.cs
index eab9f39b1..a4fffd015 100644
--- a/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/SqlBuilder/TDengineExpressionContext.cs
+++ b/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengine/SqlBuilder/TDengineExpressionContext.cs
@@ -254,7 +254,7 @@ namespace SqlSugar.TDengine
public override string ToDateShort(MethodCallExpressionModel model)
{
var parameter = model.Args[0];
- return string.Format(" SUBSTR(TO_ISO8601({0}),1,10) ", parameter.MemberName);
+ return string.Format(" CAST( SUBSTR(TO_ISO8601({0}),1,10) AS timestamp)", parameter.MemberName);
}
public override string DateAddByType(MethodCallExpressionModel model)
{
diff --git a/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengineDataAdapter.cs b/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengineDataAdapter.cs
index 99b1a645f..dce05f126 100644
--- a/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengineDataAdapter.cs
+++ b/Src/Asp.NetCore2/SqlSugar.TDengineCore/TDengineDataAdapter.cs
@@ -2,6 +2,9 @@
using System;
using System.Data.Common;
using System.Data;
+using SqlSugar.TDengine;
+using System.Collections;
+using System.Text;
namespace SqlSugar.TDengineCore
{
@@ -122,11 +125,16 @@ namespace SqlSugar.TDengineCore
for (int i = 0; i < dr.FieldCount; i++)
{
string name = dr.GetName(i).Trim();
+ var type = dr.GetFieldType(i);
+ if (type == UtilConstants.ByteArrayType)
+ {
+ type = UtilConstants.StringType;
+ }
if (!columns.Contains(name))
- columns.Add(new DataColumn(name, dr.GetFieldType(i)));
+ columns.Add(new DataColumn(name, type));
else
{
- columns.Add(new DataColumn(name + i, dr.GetFieldType(i)));
+ columns.Add(new DataColumn(name + i, type));
}
}
@@ -136,7 +144,15 @@ namespace SqlSugar.TDengineCore
DataRow daRow = dt.NewRow();
for (int i = 0; i < columns.Count; i++)
{
- daRow[columns[i].ColumnName] = dr.GetValue(i);
+ var value = dr.GetValue(i);
+ if (value is byte[])
+ {
+ daRow[columns[i].ColumnName] = Encoding.UTF8.GetString((byte[])value);
+ }
+ else
+ {
+ daRow[columns[i].ColumnName] = dr.GetValue(i);
+ }
}
dt.Rows.Add(daRow);
}