日期:2014-05-17  浏览次数:20565 次

asp.net通过DataSet循环插入数据
我在将Excle中的数据导入到SQL的时候,先通过DataSet作为缓存,然后再与数据库中的2张表中的数据逐条比较,没有则进行插入。但是DataSet中的数据与Excle是一致的,循环能够执行完成,但是不知道为什么数据库中始终只有10多条数据能够正确导入

请求大神指点。在三层架构的条件下。网上看了有说是因为对数据库的断开过于频繁,导致数据丢失

------解决方案--------------------
网上看了有说是因为对数据库的断开过于频繁,导致数据丢失
========================
不会的,你在保存DataSet时跟踪一下,看看DataSet里到底有多少条记录?另外记录的行状态(即RowState)必须为Added时才插入到数据库
------解决方案--------------------
stuModel每次不用new吗?

                                 else
                            {
                                stuModel=new Model.StudentInfo();
                                stuModel.StuNumber = dr[i]["学生学号"].ToString();

                                stuModel.ICNumber = dr[i]["身份证号"].ToString();
                                stuModel.Name = dr[i]["姓名"].ToString();
                                stuModel.Sex = dr[i]["性别"].ToString();
                                stuModel.Password = Common.Method.MD5Encryption(dr[i]["学生学号"].ToString());
                                stuModel.MajorName = dr[i]["专业名称"].ToString();
                                stuModel.DepartmentName = dr[i]["院校名称"].ToString();
                                stuModel.ClassName = labClassName.Text.Trim();
                                stuModel.Memo = dr[i]["备注"].ToString();

                                BLL.StudentInfoManager.Instance.Add(stuModel);
                            }

-----