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条)

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?