先讲一下我实现的大致思路: 1 读取excel数据,赋值到datatable中,然后在页面上显示 细节描述:有一些列是存到数据库时要是datetime格式的,我在赋值到datatable时也是做 如下处理的 DataColumn dtColumn = new DataColumn(); dtColumn.DataType =System.Ty
先讲一下我实现的大致思路:
<1>读取excel数据,赋值到datatable中,然后在页面上显示
细节描述:有一些列是存到数据库时要是datetime格式的,我在赋值到datatable时也是做 如下处理的
DataColumn dtColumn = new DataColumn();
dtColumn.DataType =System.Type.GetType("System.DateTime");
<2>将datatable存到sqlserver中
2.1使用带参数的存储过程,这种方法我已经实现(一行一行插入的,遇到datetime那一列 也是一样可以插入的,并可以在sqlserver中查看)
2.2在使用SqlBulkCopy时(想尽可能提高效率),遇到如下错误
实现细节描述:
string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString; using(SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); using (SqlBulkCopy bulkCopy = new SqlBulkCopy(conn)) { bulkCopy.DestinationTableName = "dbo.*****"; try { bulkCopy.WriteToServer(dt); } catch (Exception ex) { Response.Write(ex.Message); } } }
遇到如下错误:
The given value of type String from the data source cannot be converted to type datetime of the specified target column.RunTime
现在就是卡在使用sqlbulkcopy上,求大家支招。小弟不胜感激