需要满足以下三个条件,才可以存入数据库
1、要在数据库建立一张存该datatable的表
2、表的字段名要和datatable的列名一致,否则会报错
3、表的字段要涵盖datatable的所有列,表的字段可以多,但是不能少
调用:WLFLJZJ是数据库的表名,AddTable方法执行速度极快,能批量存入几万条数据。
bool b = DBHelper.AddTable(dt, "WLFLJZJ");
if (b)
{
MessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
dgv.DataSource = null;
}
else
{
MessageBox.Show("保存失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
/// <summary>
/// 批量更新
/// </summary>
/// <param name="dt">更新的内容</param>
/// <param name="tableName">目标表</param>
/// <returns></returns>
public static Boolean AddTable(DataTable dt, string tableName)
{
using (SqlConnection sqlCon = new SqlConnection(Util.Configure.ConnStr))
{
try
{
sqlCon.Open();
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlCon))
{
bulkCopy.DestinationTableName = tableName;
for (int i = 0; i < dt.Columns.Count; i++)
{
bulkCopy.ColumnMappings.Add(dt.Columns[i].Caption.ToString(), dt.Columns[i].Caption.ToString());
}
bulkCopy.WriteToServer(dt);
return true;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
sqlCon.Close();
}
}
}