/// <summary> /// 检查序列化文件是否存在,如果存在就读取再保存到access数据库,不存在就new一个新的list /// </summary> private void CheckFileBuff() { try { //检查目录下是否有序列化文件,若存在就反序列化读取,不存在就创new一个新的list if (File.Exists(fileName)) { DataBase.DBHelp.FileName = DataBase.DBHelp.fileName; //指定数据库路径 BinaryFile.FileName = fileName; //指定序列化文件路径 //读取出序列化文件的内容到List表 recLst = BinaryFile.ReadBinary().ConvertAll(s => (Models.DataBaseRecord)s); //读取序列化文件内容到list Models.DataBaseRecord rec = recLst[0]; //获取出列表第一个参数项 List <string> listTem = new List <string>(); //实例化一个类属性让下面SQL语读出查找的项用来做判断 listTem = DataBase.CQServices.GetRecordSql(@"SELECT DataSheet.serialNumber FROM DataSheet WHERE(((DataSheet.serialNumber) = '" + rec.serialNumber + @"'))"); //判断数据库里有无重复编号,有的话就删除,没有就插入 if (listTem.Count > 0) { DataBase.CQServices.DeleteRecord(rec.serialNumber); //删除重复项 } DataBase.CQServices.BulckInsert(recLst); //向ACCESS数据库添加数据列表 File.Delete(fileName); //删除序列化文件 recLst.Clear(); //清空数据列表 } else { recLst.Clear(); } } catch (Exception ex) { CMessageBox.Show(ex.Message, "提示"); return; } }