From 4c05b330a45be24e249e9193fbeed108df3ecd25 Mon Sep 17 00:00:00 2001 From: yhforver4 Date: Sat, 16 Apr 2022 13:29:35 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E8=A7=A3=E5=86=B3SqliteDbMaintenance?= =?UTF-8?q?.GetColumnInfosByTableName=E6=96=B9=E6=B3=95=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E5=8F=96=E5=BE=97=E5=B0=8F=E6=95=B0=E9=95=BF=E5=BA=A6=202?= =?UTF-8?q?=E3=80=81=E8=A7=A3=E5=86=B3SqliteDataAdapter.Fill(DataSet=20ds)?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E5=AF=B9System.Byte[]=E7=9A=84=E5=A1=AB?= =?UTF-8?q?=E5=85=85=E6=9C=AA=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Src/Asp.NetCore2/SqlSugar/OnlyCore/DataExtensions.cs | 7 +++++++ .../Sqlite/DbMaintenance/SqliteDbMaintenance.cs | 12 +++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Src/Asp.NetCore2/SqlSugar/OnlyCore/DataExtensions.cs b/Src/Asp.NetCore2/SqlSugar/OnlyCore/DataExtensions.cs index f6767d9d6..3154a1f35 100644 --- a/Src/Asp.NetCore2/SqlSugar/OnlyCore/DataExtensions.cs +++ b/Src/Asp.NetCore2/SqlSugar/OnlyCore/DataExtensions.cs @@ -424,7 +424,14 @@ namespace SqlSugar DataRow daRow = dt.NewRow(); for (int i = 0; i < columns.Count; i++) { + if (columns[i].DataType == System.Type.GetType("System.Byte[]")) + { + daRow[columns[i].ColumnName] = System.Text.Encoding.ASCII.GetBytes(dr.GetValue(i).ToString()); + } + else + { daRow[columns[i].ColumnName] = dr.GetValue(i); + } } dt.Rows.Add(daRow); } diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs index 28be9104e..9fde56596 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs @@ -311,10 +311,20 @@ namespace SqlSugar { var type = dataReader.GetValue(2).ObjToString(); var length = 0; + var decimalDigits = 0; if (type.Contains("(")) { - type = type.Split('(').First(); + if (type.Contains(",")) + { + var digit = type.Split('(').Last().TrimEnd(')'); + decimalDigits = digit.Split(',').Last().ObjToInt(); + length = digit.Split(',').First().ObjToInt(); + } + else + { length = type.Split('(').Last().TrimEnd(')').ObjToInt(); + } + type = type.Split('(').First(); } bool isIdentity = columns.FirstOrDefault(it => it.DbColumnName.Equals(dataReader.GetString(1),StringComparison.CurrentCultureIgnoreCase)).IsIdentity; DbColumnInfo column = new DbColumnInfo()