首页 > 代码库 > insert into 语句总是出现 未指定错误
insert into 语句总是出现 未指定错误
作者:BY www.gudianxiaoshuo.com
本文由 代码助手软件 整理发布 内容与本软件无关更惬意的读、更舒心的写、更轻松的发布
秀色书文软件 可听、可读、可写、可知识挖掘、可标注,再加上史上最强大的纯文本配色功能, 瞬间使您的书文秀色起来。
本文由 代码助手软件 整理发布 内容与本软件无关更惬意的读、更舒心的写、更轻松的发布
秀色书文软件 可听、可读、可写、可知识挖掘、可标注,再加上史上最强大的纯文本配色功能, 瞬间使您的书文秀色起来。
insert into 语句总是出现 未指定错误
CString strCmd; strCmd.Format(_T("insert into Keshi values(%d,\"%s\")"), nKeshi, keshiName );
原因,用ACCESS 生成的数据库, 制作表时 有一个默认的字段 保存自动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"已经存在此学号,请输入下一个学生的学号"); 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(学号,姓名,优秀,良,一般,旷课,主动加分) 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; }
insert into 语句总是出现 未指定错误
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。