/// <summary> /// 从数据库中加载摄像头信息 /// </summary> public void LoadCameraInDB(ListView parentView) { using (var db = new attendance_sysEntities()) { var dbCameras = db.t_camera; foreach (var item in dbCameras) { Camera camera = new Camera { cameraId = item.camera_id, Ip = item.camera_ip, port = (ushort)item.camera_port, user = item.camera_user, pwd = item.camera_pwd }; RegistrerCameraDevice(camera, parentView); } } if (cameras.Count > 0) { LoggerService.logger.Info("从数据库中导入好摄像头信息"); } else { LoggerService.logger.Info("无法从数据库中导入摄像头信息"); } }
private async Task UpdateFace() { using (var db = new attendance_sysEntities()) { int i = 0; while (t_Faces.Count > 0) { t_face tempFace = t_Faces.Dequeue(); //从数据库中查询是否有该stduentid的特征记录 var sqface = db.t_face.Where(face => face.studnet_id == tempFace.studnet_id).FirstOrDefault(); int records = 0; //如果数据库中有该同学的人脸特征记录 if (sqface != null) { //直接更新该记录 sqface.face_feature = tempFace.face_feature; sqface.face_feature_length = tempFace.face_feature_length; sqface.image_path = ""; } else { tempFace.image_path = ""; //如果没有记录,则插入一条 db.t_face.Add(tempFace); } records = await db.SaveChangesAsync(); Invoke(new Action(() => { if (records > 0) { listViewFaceDetal.Items[i].SubItems[0].Text = "正确"; listViewFaceDetal.Items[i].SubItems[0].ForeColor = Color.Green; listViewFaceDetal.Items[i].SubItems[2].Text = "更新完成"; } else { listViewFaceDetal.Items[i].SubItems[0].Text = "错误"; listViewFaceDetal.Items[i].SubItems[0].ForeColor = Color.Red; listViewFaceDetal.Items[i].SubItems[2].Text = "无法对数据库做修改操作"; } listViewFaceDetal.Refresh(); })); i++; } } }
/// <summary> /// 从数据库中重新加载人脸图像特征库 /// </summary> public static void LoadFaceLibrary() { ClearFaceLibrary(); using (var db = new attendance_sysEntities()) { var tFaces = db.t_face; foreach (var face in tFaces) { StudentFaceFeature tempFeature = new StudentFaceFeature(face); faceFeatures.Add(tempFeature); } } LoggerService.logger.Info("人脸特征库加载成功!"); }