Update sqlite bulkcopy

This commit is contained in:
sunkaixuan 2022-05-24 22:42:10 +08:00
parent 056332ae9d
commit 030f1c4ab1

View File

@ -80,7 +80,18 @@ namespace SqlSugar
{ {
foreach (DataColumn item in dt.Columns) foreach (DataColumn item in dt.Columns)
{ {
cmd.Parameters.AddWithValue("@" + item.ColumnName, dataRow[item.ColumnName]); if (IsBoolTrue(dataRow, item))
{
cmd.Parameters.AddWithValue("@" + item.ColumnName, true);
}
else if (IsBoolFalse(dataRow, item))
{
cmd.Parameters.AddWithValue("@" + item.ColumnName, false);
}
else
{
cmd.Parameters.AddWithValue("@" + item.ColumnName, dataRow[item.ColumnName]);
}
} }
i += await cmd.ExecuteNonQueryAsync(); i += await cmd.ExecuteNonQueryAsync();
cmd.Parameters.Clear(); cmd.Parameters.Clear();
@ -101,11 +112,11 @@ namespace SqlSugar
{ {
foreach (DataColumn item in dt.Columns) foreach (DataColumn item in dt.Columns)
{ {
if (dataRow[item.ColumnName] != null && dataRow[item.ColumnName].ToString().IsIn(true.ToString())) if (IsBoolTrue(dataRow, item))
{ {
cmd.Parameters.AddWithValue("@" + item.ColumnName, true); cmd.Parameters.AddWithValue("@" + item.ColumnName, true);
} }
else if (dataRow[item.ColumnName] != null && dataRow[item.ColumnName].ToString().IsIn(false.ToString())) else if (IsBoolFalse(dataRow, item))
{ {
cmd.Parameters.AddWithValue("@" + item.ColumnName, false); cmd.Parameters.AddWithValue("@" + item.ColumnName, false);
} }
@ -120,6 +131,17 @@ namespace SqlSugar
} }
return i; return i;
} }
private static bool IsBoolFalse(DataRow dataRow, DataColumn item)
{
return dataRow[item.ColumnName] != null && dataRow[item.ColumnName] is string && dataRow[item.ColumnName].ToString().IsIn(false.ToString());
}
private static bool IsBoolTrue(DataRow dataRow, DataColumn item)
{
return dataRow[item.ColumnName] != null && dataRow[item.ColumnName] is string && dataRow[item.ColumnName].ToString().IsIn(true.ToString());
}
private static void Open(SqliteConnection cn) private static void Open(SqliteConnection cn)
{ {
if (cn.State != ConnectionState.Open) if (cn.State != ConnectionState.Open)