在实际应用中,针对C#不同类型,要转换成不同数据库类型,只要修改相应的CASE语句即可,创建数据库的表名为DataTable指定的表名
日期类型请选用SqlDbType.DateTime2,用SqlDbType.DateTime有问题(肯定有好的解决办法,只是我不想再试了)
用SqlDbType.DateTime的日期类型,只要是插入数据时,会出现日期是1899-12-30号,如果你有好的办法,也欢迎告诉我
/// <summary>
/// 根据Datable参数,构建建表的SQL语句,仅对以下的数据类型进行处理
/// string, int16/32/64, double, decimal, date, bool
/// 若要处理其它类型的列,需要增加相应的case语句
/// 日期类型需要选SqlDbType.DateTime2,用SqlDbType.DateTime有问题
/// </summary>
/// <param name="pDt"></param>
/// <returns></returns>
public static string ConstructCreateTableSql(DataTable pDt)
{
string sql = "";
sql = "CREATE TABLE " + pDt.TableName + @" (";
foreach (DataColumn col in