void CEditDlg::OnBnClickedButton1()
{ // TODO: 在此添加控件通知处理程序代码 CString strpost,strwages;
GetDlgItemText(IDC_EDIT1,strpost);
GetDlgItemText(IDC_EDIT2,strwages);
if(strpost.IsEmpty()) {
MessageBox(_T("职务不能为空"));
return; }
if(strwages.IsEmpty()) {
strwages = _T("0");
return; }
CString strSql;
strSql = _T("insert into standard(职务,工资) values(");
strSql += _T("'") + strpost + _T("',") + strwages + _T(")");
try { m_db.ExecuteSQL(strSql); }
catch(CDBException* e) {
MessageBox(_T("出现错误"));
return; }}
即然用CString,那就用它的Format进行字符串拼接,不要用+
CString strSql;
strSql.Format("insert into standard(职务,工资) values(\"%s\",\"%s\")",strpost,strwages);
断点调试 把 strSql 语句打印出来,看一下是否有问题。一般都是 insert 语句有问题
没有出错信息啊,把出错的那个信息和截图发出来,看能不能解决?
出现这种情况分析,可能是创建窗体,数据源是在这个过程中,你只需要选择表被设计或打开状态,和你的错误,在这种情况下,访问将被报告。错误的措施,我们建议一看表是打开,关闭并重新打开新的形式可以是。
检查一下这个语句
strSql += _T("'") + strpost + _T("',") + strwages + _T(")");
调试之后没有报错,试着把strsql换成固定语句也不好使strSql=_T("insert into standard(职务,工资) values('员工',100)");
64位系统使用Access 数据库文件的彻底解决方法
https://www.cnblogs.com/bluedoctor/p/3925871.html