flag = ((CButton *)GetDlgItem(IDC_addadmin))->GetCheck();
这句为什么会运行中断
其他窗口的语句都没什么问题
整个的代码
CDatabase db;
CString sentence, str;
CString altename, altpw, altpos, altage, altdid, altsal, altadmin;
int flag=0;
flag = ((CButton *)GetDlgItem(IDC_addadmin))->GetCheck();
// MessageBox(TEXT("成功修改该员工!"), TEXT("员工修改"), MB_OK);
GetDlgItemText(IDC_altename, altename);
GetDlgItemText(IDC_altpw, altpw);
GetDlgItemText(IDC_altage, altage);
GetDlgItemText(IDC_altpos, altpos);
GetDlgItemText(IDC_altedid, altdid);
GetDlgItemText(IDC_altsal, altsal);
double sals;
int ages;
size_t strsize = (altage.GetLength() + 1) * 2; // 宽字符的长度;
char * pstr = new char[strsize]; //分配空间;
size_t sz = 0;
wcstombs_s(&sz, pstr, strsize, altage, _TRUNCATE);
ages = atoi((const char*)pstr);
strsize = (altsal.GetLength() + 1) * 2; // 宽字符的长度;
pstr = new char[strsize]; //分配空间;
sz = 0;
wcstombs_s(&sz, pstr, strsize, altsal, _TRUNCATE);
sals = atof((const char*)pstr);
sentence.Format(CString("ODBC;DSN=mysqldata;UID=root;PWD=123456;charset=utf8"));
db.Open(NULL, FALSE, FALSE, sentence, FALSE);
str.Format(CString("update emp set ename='%s',pw='%s',age='%d',position='%s',did='%s',sal='%f',admin='%d' where eid='%s'"), altename, altpw, ages, altpos, altdid, sals, flag, did);
db.ExecuteSQL(str);
MessageBox(TEXT("成功修改该员工!"), TEXT("员工修改"), MB_OK);
db.Close();