/// <summary>
/// 将Datatable转换为InsertSql
/// </summary>
/// <param name="dt">数据源</param>
/// <param name="table">表名称</param>
/// <returns></returns>
public List<string> DataTableToInsertSql(DataTable dt, string table)
{
List<string> result = new List<string>();
string cols = string.Join(",", dt.Columns.Cast<DataColumn>().Select(x => ""+ x.ColumnName + "").ToArray());
foreach (DataRow dr in dt.Rows)
{
var vals = string.Join(",", dr.ItemArray.Select(x =>
{
if (DBNull.Value.GetType() == x.GetType())
{
return "''";
}
else if (Type.GetType("System.DateTime") == x.GetType())
{
return "to_date('"+ x + "','yyyy-mm-dd hh24:mi:ss')";
}
else{
return "'"+ x + "'";
}
}).ToArray());
result.Add("insert into "+ table + " ("+ cols + ") values("+ vals + ")");
}
return result;
}