void CProviderDlg::OnProviderAdd()
{
// TODO: Add your control notification handler code here
CProvideraddDlg dlg;
if(dlg.DoModal()!= IDC_PRO_ADD_QUERY)//不是单击了确认按钮
{
return;
}
CString strSQL;
//strSQL="select * from ProviderInfo where ProviderID=10001";//若赋值为次 句 子则执行正常,若赋值危险面的句子就报错:Insert附近有语法错误,未能准备语句 strSQL.Format("insert into ProviderInfo values('%d','%s', '%s', '%s', '%s', '%s', '%s', '%s') " , str,dlg.m_pname, \
dlg.m_laddress, dlg.m_tel, dlg.m_email, dlg.m_website, dlg.m_lperson, dlg.m_res);//构建插入sql语句
这里跟踪调试的strSQL为:{insert into ProviderInfo values(10006,'','','','','','','')}
//语句应该是正确的, CPROVIDERSET m_ProviderSet;//构建CRecordSet派生类对象
m_ProviderSet.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);//执行sql语句 //网上搜了说这里要用CDatabase::ExecuteSQL();但是试了还是出错。
//theApp.GetDatabase().ExecuteSQL(strSQL); ShowInfo(strSQL);//显示结果
}
另外,即使将语strSQL直接赋值为insert语句都报错,这个insert语句在sql2000中运行正确。
{
// TODO: Add your control notification handler code here
CProvideraddDlg dlg;
if(dlg.DoModal()!= IDC_PRO_ADD_QUERY)//不是单击了确认按钮
{
return;
}
CString strSQL;
//strSQL="select * from ProviderInfo where ProviderID=10001";//若赋值为次 句 子则执行正常,若赋值危险面的句子就报错:Insert附近有语法错误,未能准备语句 strSQL.Format("insert into ProviderInfo values('%d','%s', '%s', '%s', '%s', '%s', '%s', '%s') " , str,dlg.m_pname, \
dlg.m_laddress, dlg.m_tel, dlg.m_email, dlg.m_website, dlg.m_lperson, dlg.m_res);//构建插入sql语句
这里跟踪调试的strSQL为:{insert into ProviderInfo values(10006,'','','','','','','')}
//语句应该是正确的, CPROVIDERSET m_ProviderSet;//构建CRecordSet派生类对象
m_ProviderSet.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);//执行sql语句 //网上搜了说这里要用CDatabase::ExecuteSQL();但是试了还是出错。
//theApp.GetDatabase().ExecuteSQL(strSQL); ShowInfo(strSQL);//显示结果
}
另外,即使将语strSQL直接赋值为insert语句都报错,这个insert语句在sql2000中运行正确。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货