Update TDengineCore

This commit is contained in:
sunkaixuan 2023-12-23 17:24:12 +08:00
parent cbbbfc049f
commit f45d607deb
4 changed files with 57 additions and 12 deletions

View File

@ -6,7 +6,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="TDengine.Ado.Data" Version="3.1.0" /> <PackageReference Include="TDengine.Ado.Data" Version="3.1.4" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -28,33 +28,62 @@ namespace SqlSugar.TDengine
} }
public override string GetPropertyTypeName(string dbTypeName) public override string GetPropertyTypeName(string dbTypeName)
{ {
if (dbTypeName.ToLower() == "int32") dbTypeName = dbTypeName.ToLower();
if (dbTypeName == "int32")
{ {
dbTypeName = "int"; dbTypeName = "int";
} }
else if (dbTypeName.ToLower() == "int16") else if (dbTypeName == "int16")
{ {
dbTypeName = "short"; dbTypeName = "short";
} }
else if (dbTypeName.ToLower() == "int64") else if (dbTypeName == "int64")
{ {
dbTypeName = "long"; dbTypeName = "long";
} }
else if (dbTypeName.ToLower() == "string") else if (dbTypeName == "string")
{ {
dbTypeName = "string"; dbTypeName = "string";
} }
else if (dbTypeName.ToLower() == "boolean") else if (dbTypeName == "boolean")
{ {
dbTypeName = "bool"; dbTypeName = "bool";
} }
else if (dbTypeName.ToLower() == "sbyte") else if (dbTypeName == "bool")
{
dbTypeName = "bool";
}
else if (dbTypeName == "sbyte")
{ {
dbTypeName = "sbyte"; dbTypeName = "sbyte";
} }
else if (dbTypeName.ToLower() == "double") else if (dbTypeName == "double")
{ {
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; return dbTypeName;
} }

View File

@ -254,7 +254,7 @@ namespace SqlSugar.TDengine
public override string ToDateShort(MethodCallExpressionModel model) public override string ToDateShort(MethodCallExpressionModel model)
{ {
var parameter = model.Args[0]; 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) public override string DateAddByType(MethodCallExpressionModel model)
{ {

View File

@ -2,6 +2,9 @@
using System; using System;
using System.Data.Common; using System.Data.Common;
using System.Data; using System.Data;
using SqlSugar.TDengine;
using System.Collections;
using System.Text;
namespace SqlSugar.TDengineCore namespace SqlSugar.TDengineCore
{ {
@ -122,11 +125,16 @@ namespace SqlSugar.TDengineCore
for (int i = 0; i < dr.FieldCount; i++) for (int i = 0; i < dr.FieldCount; i++)
{ {
string name = dr.GetName(i).Trim(); string name = dr.GetName(i).Trim();
var type = dr.GetFieldType(i);
if (type == UtilConstants.ByteArrayType)
{
type = UtilConstants.StringType;
}
if (!columns.Contains(name)) if (!columns.Contains(name))
columns.Add(new DataColumn(name, dr.GetFieldType(i))); columns.Add(new DataColumn(name, type));
else 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(); DataRow daRow = dt.NewRow();
for (int i = 0; i < columns.Count; i++) 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); dt.Rows.Add(daRow);
} }