VC中的数据存储

时间:2022-09-08 09:46:34
void CLifeCalculatorDlg::OnZbjsBtn() 
{
      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


该回复于2014-10-06 11:17:06被管理员删除

#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


引用 4 楼 happyparrot 的回复:
你的代码运行自然是这个结果,因为你的一堆的Format代码,除了最后一行外,都是无用功,因为都在修改同一个变量strSQL,都会被下一个覆盖,因此只有最后一个是有作用的,而最后一个就是生存能力。

晕,没注意到,LZ太大意了

#6


您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法

#7


该回复于2014-11-17 13:47:24被版主删除

#1


运行的结果中,雷达能力,数据链能力等等没有显示数据,只有生存能力有值。请求相关的人员解答

#2


该回复于2014-10-06 11:17:06被管理员删除

#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


引用 4 楼 happyparrot 的回复:
你的代码运行自然是这个结果,因为你的一堆的Format代码,除了最后一行外,都是无用功,因为都在修改同一个变量strSQL,都会被下一个覆盖,因此只有最后一个是有作用的,而最后一个就是生存能力。

晕,没注意到,LZ太大意了

#6


您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法

#7


该回复于2014-11-17 13:47:24被版主删除