houiqwer 2015-04-29 02:50 采纳率: 100%
浏览 1981
已采纳

mfc radio GetCheck的中断问题

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();
  • 写回答

3条回答 默认 最新

  • Eleven 2015-04-30 10:05
    关注

    ((CButton *)GetDlgItem(IDC_addadmin))->GetCheck();


    这个GetDlgItem()返回的可能是NULL。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法