//插入记录
_variant_t strQuery;
strQuery = "insert into manager(man_id,man_name,man_grade) values('"+dlg.m_sID+"', '"+dlg.m_sName+"', "+dlg.m_iGrade+")";
if(theApp.ADOExecute(theApp.m_pADOSet,strQuery))
{
AfxMessageBox(_T("添加记录成功"),MB_ICONINFORMATION);
}
else AfxMessageBox(_T("添加记录失败"),MB_ICONINFORMATION); }
其中,dlg.m_sID和 dlg.m_sName 是CString类型,dlg.m_iGrade 是int类型的
错误说明是:MainFrm.cpp(107) : error C2666: '+' : 4 overloads have similar conversions但是就是不能通过编译??
_variant_t strQuery;
strQuery = "insert into manager(man_id,man_name,man_grade) values('"+dlg.m_sID+"', '"+dlg.m_sName+"', "+dlg.m_iGrade+")";
if(theApp.ADOExecute(theApp.m_pADOSet,strQuery))
{
AfxMessageBox(_T("添加记录成功"),MB_ICONINFORMATION);
}
else AfxMessageBox(_T("添加记录失败"),MB_ICONINFORMATION); }
其中,dlg.m_sID和 dlg.m_sName 是CString类型,dlg.m_iGrade 是int类型的
错误说明是:MainFrm.cpp(107) : error C2666: '+' : 4 overloads have similar conversions但是就是不能通过编译??
--这种语句根本不符合C++语法阿。怎么那么多双引号呢。
这样子:
CString str;
str.Format("insert into manager(man_id,man_name,man_grade) values('+%s+', '+%s+', +%d+",dlg.m_sID,dlg.m_sName,dlg.m_iGrade);if(theApp.ADOExecute(theApp.m_pADOSet,(_variant_t )str))
{
AfxMessageBox(_T("添加记录成功"),MB_ICONINFORMATION);
}
else AfxMessageBox(_T("添加记录失败"),MB_ICONINFORMATION); }
strQuery = "insert into manager(man_id,man_name,man_grade) values ('";
strQuery += dlg.m_sID + "', '";
strQuery += dlg.m_sName +"', ";
strQuery += dlg.m_iGrade+")";
我的意思是在组合SQL语句的时候,可以这样用的。