void Utils::ModifyStaff(CString staff_name, CString staff_sex, CString staff_duty, CString staff_tel, CListCtrl* list, CString no, int nSel) { MYSQL mysql; MYSQL_RES *result = NULL; SQLUtils* sqlutils = new SQLUtils("localhost","root","root","work_database",3306); mysql_init(&mysql); string serverName = sqlutils->getServerName(); string userName = sqlutils->getUserName(); string password = sqlutils->getPassword(); string databaseName = sqlutils->getDatabaseName(); int port = sqlutils->getPort(); if (mysql_real_connect(&mysql,serverName.c_str(),userName.c_str(),password.c_str(),databaseName.c_str(),port,NULL,0)) { mysql_set_character_set(&mysql, "gbk"); string sql = "update t_staff set staff_name="; sql.append(1,'\'').append(staff_name).append(1,'\'').append(",").append("staff_sex=").append(1,'\'').append(staff_sex).append(1,'\'').append(",") .append("staff_duty=").append(1,'\'').append(staff_duty).append(1,'\'').append(",").append("staff_tel=").append(1,'\'').append(staff_tel).append(1,'\'') .append(" where staff_no=").append(1,'\'').append(no).append(1,'\''); mysql_query(&mysql,sql.c_str()); mysql_close(&mysql); list->SetItemText(nSel,1,staff_name); list->SetItemText(nSel,2,staff_sex); list->SetItemText(nSel,3,staff_duty); list->SetItemText(nSel,4,staff_tel); AfxMessageBox("修改信息成功"); return; } else{ AfxMessageBox("系统出错"); } }
void Utils::SaveFeatureFlag(CString staff_no) { MYSQL mysql; MYSQL_RES *result = NULL; SQLUtils* sqlutils = new SQLUtils("localhost","root","root","work_database",3306); mysql_init(&mysql); string serverName = sqlutils->getServerName(); string userName = sqlutils->getUserName(); string password = sqlutils->getPassword(); string databaseName = sqlutils->getDatabaseName(); int port = sqlutils->getPort(); if (mysql_real_connect(&mysql,serverName.c_str(),userName.c_str(),password.c_str(),databaseName.c_str(),port,NULL,0)) { mysql_set_character_set(&mysql, "gbk"); string str = "update t_staff set feature_flag="; string sql = ""; int feature_flag = 1; ostringstream oss; oss << str << feature_flag; sql += oss.str(); sql.append(" where staff_no = ").append(1,'\'').append(staff_no).append(1,'\''); mysql_query(&mysql,sql.c_str()); mysql_close(&mysql); } else{ AfxMessageBox("系统出错"); return; } }
void Utils::SaveLogInfo(CString staff_no,CString staff_name,CString recognizeResult) { //获取当前时间 CString strTime; CTime m_time; m_time = CTime::GetCurrentTime(); strTime = m_time.Format("%Y/%m/%d-%H:%M"); MYSQL mysql; SQLUtils* sqlutils = new SQLUtils("localhost","root","root","work_database",3306); mysql_init(&mysql); MYSQL_RES *result = NULL; string serverName = sqlutils->getServerName(); string userName = sqlutils->getUserName(); string password = sqlutils->getPassword(); string databaseName = sqlutils->getDatabaseName(); int port = sqlutils->getPort(); if (mysql_real_connect(&mysql,serverName.c_str(),userName.c_str(),password.c_str(),databaseName.c_str(),port,NULL,0)) { mysql_set_character_set(&mysql, "gbk"); string sql = "insert into t_log (staff_no, staff_name, result, time) values("; sql.append(1,'\'').append(staff_no).append(1,'\'').append(",").append(1,'\'').append(staff_name).append(1,'\'') .append(",").append(1,'\'').append(recognizeResult).append(1,'\'').append(",").append(1,'\'').append(strTime).append(1,'\'').append(")"); if (0 == mysql_query(&mysql,sql.c_str())) { mysql_close(&mysql); } } else{ AfxMessageBox("系统出错"); return; } }
void Utils::SaveFacePath(CString staff_no, CString face_path) { MYSQL mysql; MYSQL_RES *result = NULL; SQLUtils* sqlutils = new SQLUtils("localhost","root","root","work_database",3306); mysql_init(&mysql); string serverName = sqlutils->getServerName(); string userName = sqlutils->getUserName(); string password = sqlutils->getPassword(); string databaseName = sqlutils->getDatabaseName(); int port = sqlutils->getPort(); if (mysql_real_connect(&mysql,serverName.c_str(),userName.c_str(),password.c_str(),databaseName.c_str(),port,NULL,0)) { mysql_set_character_set(&mysql, "gbk"); string sql = "insert into t_face (staff_no, face_path) values("; sql.append(1,'\'').append(staff_no).append(1,'\'').append(",").append(1,'\'').append(face_path).append(1,'\'').append(")"); mysql_query(&mysql,sql.c_str()); mysql_close(&mysql); } else{ AfxMessageBox("系统出错"); return; } }
Staff Utils::GetStaffByStaffNo(CString staff_no) { Staff staff; staff.setNo(staff_no); MYSQL mysql; MYSQL_RES *result = NULL; SQLUtils* sqlutils = new SQLUtils("localhost","root","root","work_database",3306); mysql_init(&mysql); string serverName = sqlutils->getServerName(); string userName = sqlutils->getUserName(); string password = sqlutils->getPassword(); string databaseName = sqlutils->getDatabaseName(); int port = sqlutils->getPort(); if (mysql_real_connect(&mysql,serverName.c_str(),userName.c_str(),password.c_str(),databaseName.c_str(),port,NULL,0)) { mysql_set_character_set(&mysql, "gbk"); string sql = "select staff_name, staff_sex, staff_duty, staff_tel from t_staff where staff_no = "; sql.append(1,'\'').append(staff_no).append(1,'\''); mysql_query(&mysql,sql.c_str()); result = mysql_store_result(&mysql); int fieldcount = mysql_num_fields(result); MYSQL_ROW row = NULL; row = mysql_fetch_row(result); while(NULL != row) { for(int i=0; i<fieldcount; i++) { switch(i){ case 0: staff.setName(row[i]); break; case 1: staff.setSex(row[i]); break; case 2: staff.setDuty(row[i]); break; case 3: staff.setTel(row[i]); } } row = mysql_fetch_row(result); } mysql_close(&mysql); return staff; } else{ AfxMessageBox("系统出错"); } return Staff(); }
vector<Face> Utils::GetAllFaces() { MYSQL mysql; MYSQL_RES *result = NULL; SQLUtils* sqlutils = new SQLUtils("localhost","root","root","work_database",3306); Face face; vector<Face> faces; mysql_init(&mysql); string serverName = sqlutils->getServerName(); string userName = sqlutils->getUserName(); string password = sqlutils->getPassword(); string databaseName = sqlutils->getDatabaseName(); int port = sqlutils->getPort(); if (mysql_real_connect(&mysql,serverName.c_str(),userName.c_str(),password.c_str(),databaseName.c_str(),port,NULL,0)) { mysql_set_character_set(&mysql, "gbk"); string sql = "select face_id, staff_no, face_path from t_face"; mysql_query(&mysql,sql.c_str()); result = mysql_store_result(&mysql); int fieldcount = mysql_num_fields(result); MYSQL_ROW row = NULL; row = mysql_fetch_row(result); while(NULL != row) { for(int i=0; i<fieldcount; i++) { switch(i){ case 0: face.SetFaceId(atoi(row[i])); break; case 1: face.SetStaffNo(row[i]); break; case 2: face.SetFacePath(row[i]); break; } } faces.push_back(face); row = mysql_fetch_row(result); } mysql_close(&mysql); return faces; } else{ AfxMessageBox("系统出错"); return vector<Face>(); } }
void Utils::DeleteStaffByNo(CString staff_no) { MYSQL mysql; MYSQL_RES *result = NULL; SQLUtils* sqlutils = new SQLUtils("localhost","root","root","work_database",3306); mysql_init(&mysql); string serverName = sqlutils->getServerName(); string userName = sqlutils->getUserName(); string password = sqlutils->getPassword(); string databaseName = sqlutils->getDatabaseName(); int port = sqlutils->getPort(); if (mysql_real_connect(&mysql,serverName.c_str(),userName.c_str(),password.c_str(),databaseName.c_str(),port,NULL,0)) { mysql_set_character_set(&mysql, "gbk"); string sql = "delete from t_staff where staff_no="; sql.append(1,'\'').append(staff_no).append(1,'\''); mysql_query(&mysql,sql.c_str()); //删除目录 string str = "select face_path from t_face where staff_no = "; str.append(1,'\'').append(staff_no).append(1,'\''); mysql_query(&mysql,str.c_str()); result = mysql_store_result(&mysql); // int fieldcount = mysql_num_fields(result); MYSQL_ROW row = NULL; row = mysql_fetch_row(result); Utils utils; if(row==NULL) { //AfxMessageBox("请先登记"); //如果为空什么也不做 }else{ utils.DeletePath(row[0]); } if(result!=NULL) mysql_free_result(result);//释放结果资源 //删除数据表数据 string m_SQL = "delete from t_face where staff_no="; m_SQL.append(1,'\'').append(staff_no).append(1,'\''); mysql_query(&mysql,m_SQL.c_str()); mysql_close(&mysql); return; }else{ AfxMessageBox("系统出错"); } }
void CAddDlg::OnBnClickedAdd() { CString name, no, sex, duty, tel; GetDlgItemText(IDC_NAME_EDIT,name); GetDlgItemText(IDC_NO_EDIT,no); GetDlgItemText(IDC_SEX_COMBO,sex); GetDlgItemText(IDC_DUTY_EDIT,duty); GetDlgItemText(IDC_TEL_EDIT,tel); if (name.IsEmpty() || no.IsEmpty()) { MessageBox("姓名和编号不能为空"); return; } MYSQL mysql; MYSQL_RES *result = NULL; SQLUtils* sqlutils = new SQLUtils("localhost","root","root","work_database",3306); mysql_init(&mysql); string serverName = sqlutils->getServerName(); string userName = sqlutils->getUserName(); string password = sqlutils->getPassword(); string databaseName = sqlutils->getDatabaseName(); int port = sqlutils->getPort(); if (mysql_real_connect(&mysql,serverName.c_str(),userName.c_str(),password.c_str(),databaseName.c_str(),port,NULL,0)) { if (!checkNo(mysql,sqlutils,no) && !checkTel(mysql,sqlutils,tel)) { string sql = "insert into t_staff (staff_name,staff_no,staff_sex,staff_duty,staff_tel) values("; sql.append(1,'\'').append(name).append(1,'\'').append(",").append(1,'\'').append(no).append(1,'\'').append(",") .append(1,'\'').append(sex).append(1,'\'').append(",").append(1,'\'').append(duty).append(1,'\'') .append(",").append(1,'\'').append(tel).append(1,'\'').append(")"); mysql_query(&mysql,sql.c_str()); mysql_close(&mysql); MessageBox("添加信息成功"); return; }else if(checkNo(mysql,sqlutils,no)){ MessageBox("此员工编号已存在"); }else if (checkTel(mysql,sqlutils,tel)){ MessageBox("此员工电话已存在"); } return; } else{ MessageBox("系统出错"); } }
CString Utils::GetStaffNoByFaceId(int face_id) { CString staff_no; MYSQL mysql; MYSQL_RES *result = NULL; SQLUtils* sqlutils = new SQLUtils("localhost","root","root","work_database",3306); mysql_init(&mysql); string serverName = sqlutils->getServerName(); string userName = sqlutils->getUserName(); string password = sqlutils->getPassword(); string databaseName = sqlutils->getDatabaseName(); int port = sqlutils->getPort(); if (mysql_real_connect(&mysql,serverName.c_str(),userName.c_str(),password.c_str(),databaseName.c_str(),port,NULL,0)) { mysql_set_character_set(&mysql, "gbk"); string str = "select staff_no from t_face where face_id = "; ostringstream m_sql; m_sql << str <<face_id; string sql; sql += m_sql.str(); mysql_query(&mysql,sql.c_str()); result = mysql_store_result(&mysql); int fieldcount = mysql_num_fields(result); MYSQL_ROW row = NULL; row = mysql_fetch_row(result); while(NULL != row) { for(int i=0; i<fieldcount; i++) { staff_no = row[i]; } row = mysql_fetch_row(result); } mysql_close(&mysql); return staff_no; } else{ AfxMessageBox("系统出错"); } return CString(); }
void Utils::AddStaff(CString name, CString no, CString sex, CString duty, CString tel, CListCtrl* list, int nCount) { MYSQL mysql; MYSQL_RES *result = NULL; SQLUtils* sqlutils = new SQLUtils("localhost","root","root","work_database",3306); mysql_init(&mysql); string serverName = sqlutils->getServerName(); string userName = sqlutils->getUserName(); string password = sqlutils->getPassword(); string databaseName = sqlutils->getDatabaseName(); int port = sqlutils->getPort(); if (mysql_real_connect(&mysql,serverName.c_str(),userName.c_str(),password.c_str(),databaseName.c_str(),port,NULL,0)) { mysql_set_character_set(&mysql, "gbk"); if (!CheckNo(mysql,sqlutils,no) && !CheckTel(mysql,sqlutils,tel)) { string sql = "insert into t_staff (staff_name,staff_no,staff_sex,staff_duty,staff_tel) values("; sql.append(1,'\'').append(name).append(1,'\'').append(",").append(1,'\'').append(no).append(1,'\'').append(",") .append(1,'\'').append(sex).append(1,'\'').append(",").append(1,'\'').append(duty).append(1,'\'') .append(",").append(1,'\'').append(tel).append(1,'\'').append(")"); mysql_query(&mysql,sql.c_str()); mysql_close(&mysql); list->InsertItem(nCount,no); list->SetItemText(nCount,1,name); list->SetItemText(nCount,2,sex); list->SetItemText(nCount,3,duty); list->SetItemText(nCount,4,tel); AfxMessageBox("添加信息成功"); return; }else if(CheckNo(mysql,sqlutils,no)){ AfxMessageBox("此员工编号已存在"); }else if (CheckTel(mysql,sqlutils,tel)){ AfxMessageBox("此员工电话已存在"); } return; }else{ AfxMessageBox("系统出错"); } }