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)
{
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();
cmd.Parameters.Clear();
@ -101,11 +112,11 @@ namespace SqlSugar
{
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);
}
else if (dataRow[item.ColumnName] != null && dataRow[item.ColumnName].ToString().IsIn(false.ToString()))
else if (IsBoolFalse(dataRow, item))
{
cmd.Parameters.AddWithValue("@" + item.ColumnName, false);
}
@ -120,6 +131,17 @@ namespace SqlSugar
}
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)
{
if (cn.State != ConnectionState.Open)