{
UpdateData(TRUE);
m_dLDNL=0.2739*log10(m_dZB11*m_dZB12)*(0.02*m_dZB9+0.3*m_dZB10);
m_dSJLNL=0.0161*m_dZB11+0.0161*m_dZB12+0.0161*m_dZB13;
m_dKZJCNL=0.000224*log10(m_dZB11*m_dZB9)*(m_dYSNum4+m_dYSNum3);
m_dGJNL=0.187*log10(m_dSJLNL*m_dLDNL*m_dKZJCNL)*(m_dZB14+m_dZB15+m_dZB16);
m_dTFNL=0.4493*log10(m_dLDNL*m_dKZJCNL)*(m_dYSNum2+1.5*m_dMGNum4+m_dYSNum1+1.5*m_dMGNum3);
m_dSCNL=0.3037*log10(m_dMGNum1*m_dKZJCNL*m_dSJLNL)*(m_dMGNum2+m_dMGNum3+m_dMGNum4+m_dYSNum1+m_dLDNL);
CString str;
str.Format("%.3f",m_dLDNL);
m_dLDNL=atof(str);
str.Format("%.3f",m_dSJLNL);
m_dSJLNL=atof(str);
str.Format("%.3f",m_dKZJCNL);
m_dKZJCNL=atof(str);[/color] str.Format("%.3f",m_dGJNL);
m_dGJNL=atof(str);
str.Format("%.3f",m_dTFNL);
m_dTFNL=atof(str);
str.Format("%.3f",m_dSCNL);
m_dSCNL=atof(str);
ADOConn m_AdoConn;
_RecordsetPtr m_pRecordSet;
m_AdoConn.OnInitADOConn();
CString strSQL;
strSQL.Format("UPDATE tb_airplane SET LDNL=%f WHERE AirPlaneType='%s' ",m_dLDNL,m_strAirplaneName);
strSQL.Format("UPDATE tb_airplane SET SJNLN=%f WHERE AirPlaneType='%s' ",m_dSJLNL,m_strAirplaneName);
strSQL.Format("UPDATE tb_airplane SET KZJCNL=%f WHERE AirPlaneType='%s' ",m_dKZJCNL,m_strAirplaneName);
strSQL.Format("UPDATE tb_airplane SET GJNL=%f WHERE AirPlaneType='%s' ",m_dGJNL,m_strAirplaneName);
strSQL.Format("UPDATE tb_airplane SET TFNL=%f WHERE AirPlaneType='%s' ",m_dTFNL,m_strAirplaneName);
strSQL.Format("UPDATE tb_airplane SET SCNL=%f WHERE AirPlaneType='%s' ",m_dSCNL,m_strAirplaneName);
m_AdoConn.ExecuteSQL((_bstr_t)strSQL);
UpdateData(FALSE);
}
我的程序是这么写的运行结果如图:
求原因?
7 个解决方案
#1
运行的结果中,雷达能力,数据链能力等等没有显示数据,只有生存能力有值。请求相关的人员解答
#2
#3
打印下WHERE子句是否正确, 使用扑捉异常的方式进行ADO+SQL代码编写:
另外,这个帖子放在数据库栏比较合适
try
{
//do sth...
}
catch(_com_error e)
{
ReportError(e);
}
void CXXXDlg::ReportError(_com_error& e)
{
CString s;
s.Format(_T("Source:\t%s\nError:\t%s\nDescription:\t%s"),(LPCTSTR)e.Source(), e.ErrorMessage(), (LPCTSTR)e.Description());
AfxMessageBox(s);
}
另外,这个帖子放在数据库栏比较合适
#4
你的代码运行自然是这个结果,因为你的一堆的Format代码,除了最后一行外,都是无用功,因为都在修改同一个变量strSQL,都会被下一个覆盖,因此只有最后一个是有作用的,而最后一个就是生存能力。
#5
晕,没注意到,LZ太大意了
#6
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知
见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知
见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法
#7
#1
运行的结果中,雷达能力,数据链能力等等没有显示数据,只有生存能力有值。请求相关的人员解答
#2
#3
打印下WHERE子句是否正确, 使用扑捉异常的方式进行ADO+SQL代码编写:
另外,这个帖子放在数据库栏比较合适
try
{
//do sth...
}
catch(_com_error e)
{
ReportError(e);
}
void CXXXDlg::ReportError(_com_error& e)
{
CString s;
s.Format(_T("Source:\t%s\nError:\t%s\nDescription:\t%s"),(LPCTSTR)e.Source(), e.ErrorMessage(), (LPCTSTR)e.Description());
AfxMessageBox(s);
}
另外,这个帖子放在数据库栏比较合适
#4
你的代码运行自然是这个结果,因为你的一堆的Format代码,除了最后一行外,都是无用功,因为都在修改同一个变量strSQL,都会被下一个覆盖,因此只有最后一个是有作用的,而最后一个就是生存能力。
#5
晕,没注意到,LZ太大意了
#6
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知
见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知
见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法