try
{
strName = "create table " + formName + " (num int primary key not null,x int,y int,z float)";//在数据库中创建表
m_pCommandText = _bstr_t((LPCTSTR)strName);
m_AdoConn.m_pConnection->Execute(m_pCommandText,&m_pTable,adCmdUnknown);//执行这条语句}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}                                                                                                CString str,str1;
int tt;
for(tt = 0;tt < pDlg->m_sampleNum1;tt++)
{
 str = _T("INSERT INTO " + formName  + "(NUM,X,Y,Z)VALUES(%d,%d,%d,%2f)");//在数据表中插入数据项
 str1.Format(str,tt,data1[tt],data2[tt],data3[tt]);//将相应的数据存入到数据库中
 m_pCommandText = _bstr_t((LPCTSTR)str1);
 //m_pCommandText = str1.AllocSysString();
 pDlg->m_AdoConn.m_pConnection->Execute(m_pCommandText,&m_pTable,adCmdUnknown);//往数据库表中插入数据}
请教各位,我这里的数据库操作到底有什么问题,为什么写到数据库里的数据和实际的数据就是不一样呢,都快哭了,搞了好久,试了各种方法,

解决方案 »

  1.   

    倒底哪不一样了,是不是浮点数据不一样,就是DATA3的数据,如果是这样,就和程序没关系了,是系统的问题,比如浮点型数据:A=1.0,但计算机却变成0.999999了,并不是1.0,象这种情况,你可以设定小数点试试:%4.1f,这是一位小数点总共4位(包括小数点)
      

  2.   

     你调试看下str1到底是什么内容 直接用这个sql语句去数据库里面执行下看下结果...
      

  3.   

    str1是没有问题的,我调试过很多次