Merge branch 'dump' of http://gitea.cf/MES/MES-Toolkit into dump

This commit is contained in:
lindj 2022-01-18 17:32:09 +08:00
commit d21e2d6660

View File

@ -152,7 +152,14 @@ namespace Chenfeng.MES.Archiver.Commands
var valString = new StringBuilder(); var valString = new StringBuilder();
using (var reader = cmd.ExecuteReader()) var queryWatch = Stopwatch.StartNew();
var reader = cmd.ExecuteReader();
queryWatch.Stop();
if (queryWatch.ElapsedMilliseconds > 10_000)
{
Print("slow sql:" + sql + ",page:" + pageIndex);
}
using (reader)
{ {
if (columnString.Length == 0) if (columnString.Length == 0)
{ {
@ -166,35 +173,41 @@ namespace Chenfeng.MES.Archiver.Commands
while (reader.Read()) while (reader.Read())
{ {
var row = new List<object>(); //var row = new List<object>();
valString.Append('(');
for (int i = 0; i < reader.FieldCount; i++) for (int i = 0; i < reader.FieldCount; i++)
{ {
var val = reader.GetValue(i); var val = reader.GetValue(i);
object newVal;
switch (val) switch (val)
{ {
case System.DBNull b: case System.DBNull b:
row.Add("null"); row.Add("null");
break; break;
case bool b: case bool b:
row.Add(b ? 1 : 0); newVal = b ? 1 : 0;
break; break;
case string s: case string s:
row.Add($"'{s}'"); newVal = $"'{s}'";
break; break;
case DateTime dt: case DateTime dt:
row.Add('\'' + dt.ToString("yyyy-MM-dd HH:mm:ss") + '\''); newVal = '\'' + dt.ToString("yyyy-MM-dd HH:mm:ss") + '\'';
break; break;
case byte[] byteList: case byte[] byteList:
row.Add("0x" + string.Concat(byteList.Select(i => i.ToString("X2")))); newVal = "0x" + string.Concat(byteList.Select(i => i.ToString("X2")));
break; break;
default: default:
row.Add(val); newVal = val;
break; break;
} }
valString.Append(newVal);
if (i < reader.FieldCount-1)
{
valString.Append(',');
}
} }
valString.Append($"({string.Join(",", row)}),"); valString.Append(')');
//valString.Append($"({string.Join(",", row)}),");
} }
if (valString.Length == 0) break; if (valString.Length == 0) break;
@ -232,7 +245,7 @@ namespace Chenfeng.MES.Archiver.Commands
//streamWriter.Flush(); //streamWriter.Flush();
} }
} }
if (PageSize <= 0) break; // 不分页直接跳出
pageIndex++; pageIndex++;
} }