鉴于您的excel文件与表具有相同的结构,并且您想要更新而不是仅插入表, 最简单的方法
是使用“合并”和“表值参数”
SqlCommand cmd = new SqlCommand(@"MERGE tStudent AS target USING (select ID, STUDENT , ROLLNO from @source) as source ON (source.ID = target.ID) WHEN MATCHED THEN UPDATE SET Student = source.Student, ROLLNO = source.ROLLNO WHEN NOT MATCHED THEN INSERT (ID, STUDENT , ROLLNO) VALUES (source.id, source.Student, source.RollNo);" , sqlconn);SqlParameter param cmd.Parameters.AddWithValue("@source", dr);param.SqlDbType = SqlDbType.Structured;param.TypeName = "dbo.tStudent";您的其他选择包括循环,使用登台表,将数据作为xml数据或字符串数据传递或使用ETL工具(如SSIS)。



