程序员人生 网站导航

insert into 语句总是出现 未指定错误

栏目:数据库应用时间:2015-01-23 08:33:24
作者:BY  www.gudianxiaoshuo.com


本文由 代码助手软件 整理发布 内容与本软件无关更惬意的读、更舒心的写、更轻松的发布

 秀色书文软件  可听、可读、可写、可知识发掘、可标注,再加上史上最强大的纯文本配色功能, 瞬间使您的书文秀色起来。










insert into 语句总是出现 未指定毛病

      CString strCmd;      strCmd.Format(_T("insert into Keshi values(%d,"%s")"),          nKeshi,          keshiName          );

缘由,用ACCESS 生成的数据库, 制作表时 有1个默许的字段 保存自动ID的,将其删除掉便可

        //没有此学生的话 则插入学生记录         strCmd.Format(             _T("insert into 班级表%d(学号,姓名,地址,联系方式,备注) values(%d,"%s","%s","%s","%s")"),             m_pParentStudentInfo->m_nClassID,             nXuehao,             nameStr,             addStr,             lianxiStr,             beizhuStr);         spCmd->CommandText=(LPCTSTR)strCmd;         spCmd->Execute(NULL,NULL,adCmdText);     _CommandPtr spCmd;     spCmd.CreateInstance(__uuidof(Command));     spCmd->ActiveConnection=m_pConnection;

        //肯定是不是已有此学生         CString strCmd;         strCmd.Format(             _T("select count(*) from 班级表%d where 学号=%d"),             m_pParentStudentInfo->m_nClassID,             nXuehao);         _RecordsetPtr pRecordSet;         long count=0;         spCmd->CommandText=(LPCTSTR)strCmd;         pRecordSet=spCmd->Execute(NULL,NULL,adCmdText);         count=(long)pRecordSet->GetCollect ((long)0);         if (count>0)         {             AfxMessageBox (L"已存在此学号,请输入下1个学生的学号");             return FALSE;         }

        //打开此学生的记录集         // +----------------------------------------------         pRecordSet.CreateInstance(__uuidof(Recordset));         strCmd.Format(             _T("SELECT * FROM 班级表%d order by 学号 "),             m_pParentStudentInfo->m_nClassID);         pRecordSet->Open((_variant_t)strCmd,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);              pRecordSet->AddNew();         pRecordSet->PutCollect(_T("学号"),(long)nXuehao);         pRecordSet->PutCollect(_T("姓名"),(LPCTSTR)nameStr);         pRecordSet->PutCollect(_T("性别"),(LPCTSTR)sexStr);         pRecordSet->PutCollect(_T("地址"),(LPCTSTR)addStr);         pRecordSet->PutCollect(_T("联系方式"),(LPCTSTR)lianxiStr);         pRecordSet->PutCollect(_T("备注"),(LPCTSTR)beizhuStr);         pRecordSet->Update();

批量插入记录 到所有受影响的表中

//为指定学期的课堂成绩表 增加学生 BOOL CStuLianxi::AddXueqiStudent(const int nXueqi,const int nXuehao,const CString &nameStr) {     _CommandPtr spCmd;     spCmd.CreateInstance(__uuidof(Command));     spCmd->ActiveConnection=m_pConnection;     CString strCmd;     _RecordsetPtr  pRecordSet;     long count=0;     try{         strCmd.Format(             _T("select count(*) from 课堂成绩表%d where 学号=%d"),             nXueqi,             nXuehao);         spCmd->CommandText=(LPCTSTR)strCmd;         pRecordSet=spCmd->Execute(NULL,NULL,adCmdText);         count=(long)pRecordSet->GetCollect ((long)0);         if (count>0)         {  //以存在此学号             return TRUE;         }         //将此学生插入课堂成绩表中         strCmd.Format(             _T("insert into 课堂成绩表%d(学号,姓名,优秀,良,1般,旷课,主动加分) values(%d,"%s",0,0,0,0,0)"),             nXueqi,             nXuehao,             nameStr);         spCmd->CommandText=(LPCTSTR)strCmd;         spCmd->Execute(NULL,NULL,adCmdText);     }     catch(_com_error &e)     {         AfxMessageBox(e.Error ());         return FALSE;     }     return TRUE; }

//为所有受影响的学生表中 添加学生 BOOL CStuLianxi::AddAllaffectedXueqiStudent(const int nXuehao,const CString &nameStr) {     try{         CString strCmd;         _RecordsetPtr  pRecordSet;         pRecordSet.CreateInstance(__uuidof(Recordset));         int nXueqiID=0;         //更新本班所有相干的课堂成绩表         //查找本班所有学期         strCmd.Format(             _T("SELECT * FROM ClassInfo where 班级ID=%d"),             m_pParentStudentInfo->m_nClassID);         pRecordSet->Open ((LPCTSTR)strCmd,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);         if (!pRecordSet->adoBOF)         {             pRecordSet->MoveFirst ();         }else             return FALSE;         //更新本班所有学期         _variant_t varValue;         while (!pRecordSet->adoEOF)         {             varValue=pRecordSet->GetCollect (_T("ID"));             if (varValue.vt!=VT_NULL)             {                 nXueqiID=_ttoi((LPCTSTR)_bstr_t(varValue));                 AddXueqiStudent(nXueqiID,nXuehao,nameStr);             }else{                 pRecordSet->MoveNext ();                 continue;             }             pRecordSet->MoveNext ();         }     }     catch(_com_error &e)     {         AfxMessageBox(e.ErrorMessage());     }     return TRUE; }


------分隔线----------------------------
------分隔线----------------------------

最新技术推荐