急死了(数据库) 查查MSDN等资料不就有了吗?程序员要学会这一点啊,基本素质。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CDatabase db;可以定义一个数据库,它有creat成员可以创建一个数据库,当然也可以连接到一个已有的数据库上。此时db代表的就是那个数据库,比如 abc.mdbCRecordSet rSet;rSet 可以指向一个记录集也就是一个表,或者视图所有的操作,包括最常用的查询就是用它来实现的 ,它有一些诸如find的成员,可以找到每一个字段。如果懒得看msdn的话,不妨把它的每个成员都试着用用,不难还有如果不愿意写程序的话,好像vc向导可以直接为你生成所需要的recordset不知道能不能绑上忙,好像太罗嗦了见笑! CDatabase db;Cteacher *pteacher ///Cteacher 是CRecordSet的一个记录集派生类pteacher=new Cteacher(&db);pteacher->m_strFilter=" ";// 这句相当于,select 语句的where 然后pteacher->open();//打开记录集pteacher->movenext 等进行操作pteacher->m_thid//设m_thid为这个记录集的一个字段 一段程序int CCamNameSet::InitialCamNameItem(LPCTSTR DatabasePath){ int iRet=0; CDaoDatabase mydb; CDaoRecordset myrec; CDaoQueryDef* lpQuery; CString QueryStr; try{ AfxDaoInit(); mydb.Open(DatabasePath); QueryStr=(LPCTSTR)"select * from camname order by id"; lpQuery=new CDaoQueryDef(&mydb); lpQuery->Create(NULL,(LPCTSTR)QueryStr); myrec.Open(lpQuery,dbOpenSnapshot); if((!myrec.IsBOF())&&(!myrec.IsEOF())){ COleVariant fieldvalue; CString myvalue[4]; myrec.MoveFirst(); while(!myrec.IsEOF()){ myrec.GetFieldValue(0,fieldvalue); myvalue[0].Format("%d",fieldvalue.pbVal); myrec.GetFieldValue(1,fieldvalue); myvalue[1]=(LPCTSTR)fieldvalue.pbVal; myrec.GetFieldValue(2,fieldvalue); myvalue[2]=(LPCTSTR)fieldvalue.pbVal; myrec.GetFieldValue(3,fieldvalue); //myvalue[3].Format("%d",fieldvalue.pbVal); myvalue[3]=(TCHAR)(fieldvalue.pbVal+48); AddCamNameItem((LPCTSTR)myvalue[0],(LPCTSTR)myvalue[1],(LPCTSTR)myvalue[2],(LPCTSTR)myvalue[3]); myrec.MoveNext(); } myrec.Close(); } if(lpQuery!=NULL){ delete lpQuery; } mydb.Close(); AfxDaoTerm(); iRet=DATABASEOK; }catch(CDaoException* pEx){ iRet=pEx->m_nAfxDaoError; if(mydb.IsOpen()){ mydb.Close(); AfxDaoTerm(); } if(lpQuery!=NULL){ delete lpQuery; } } return iRet;} 求解:MFC单文档应用程序中视图窗口和设备上下文之间的关系(高分相送!) 求救:ModifyMenu()修改顶级菜单后,无法再通过GetMenu()获取子菜单不成功! SendNotifyMessage和内存管理的问题。 关于数字图像处理的问题(matlab,VC) 关于摄相头,全局钩子等 这种错误怎么解决? 如何得到一个动态创建的窗口销毁的消息? 类的集成问题? 用CreateProcess创建的进程死活不隐藏 关于调试问题? ===菜鸟系列===:写过毕业论文的前辈请进!!!菜鸟散分啦!!!! ISAPI中使用CDatabase向数据库中添加数据,但老是出错,请帮我一把!
可以定义一个数据库,它有creat成员可以创建一个数据库,当然也可以连接到一个已有的数据库上。
此时db代表的就是那个数据库,比如 abc.mdbCRecordSet rSet;
rSet 可以指向一个记录集也就是一个表,或者视图
所有的操作,包括最常用的查询就是用它来实现的 ,它有一些诸如find的成员,可以找到每一个字段。如果懒得看msdn的话,不妨把它的每个成员都试着用用,不难还有如果不愿意写程序的话,好像vc向导可以直接为你生成所需要的recordset不知道能不能绑上忙,好像太罗嗦了
见笑!
Cteacher *pteacher ///Cteacher 是CRecordSet的一个记录集派生类
pteacher=new Cteacher(&db);
pteacher->m_strFilter=" ";// 这句相当于,select 语句的where
然后
pteacher->open();//打开记录集
pteacher->movenext 等进行操作
pteacher->m_thid//设m_thid为这个记录集的一个字段
{
int iRet=0;
CDaoDatabase mydb;
CDaoRecordset myrec;
CDaoQueryDef* lpQuery;
CString QueryStr;
try{
AfxDaoInit();
mydb.Open(DatabasePath);
QueryStr=(LPCTSTR)"select * from camname order by id";
lpQuery=new CDaoQueryDef(&mydb);
lpQuery->Create(NULL,(LPCTSTR)QueryStr);
myrec.Open(lpQuery,dbOpenSnapshot);
if((!myrec.IsBOF())&&(!myrec.IsEOF())){
COleVariant fieldvalue;
CString myvalue[4];
myrec.MoveFirst();
while(!myrec.IsEOF()){
myrec.GetFieldValue(0,fieldvalue);
myvalue[0].Format("%d",fieldvalue.pbVal);
myrec.GetFieldValue(1,fieldvalue);
myvalue[1]=(LPCTSTR)fieldvalue.pbVal;
myrec.GetFieldValue(2,fieldvalue);
myvalue[2]=(LPCTSTR)fieldvalue.pbVal;
myrec.GetFieldValue(3,fieldvalue);
//myvalue[3].Format("%d",fieldvalue.pbVal);
myvalue[3]=(TCHAR)(fieldvalue.pbVal+48);
AddCamNameItem((LPCTSTR)myvalue[0],(LPCTSTR)myvalue[1],(LPCTSTR)myvalue[2],(LPCTSTR)myvalue[3]);
myrec.MoveNext();
}
myrec.Close();
}
if(lpQuery!=NULL){
delete lpQuery;
}
mydb.Close();
AfxDaoTerm();
iRet=DATABASEOK;
}catch(CDaoException* pEx){
iRet=pEx->m_nAfxDaoError;
if(mydb.IsOpen()){
mydb.Close();
AfxDaoTerm();
}
if(lpQuery!=NULL){
delete lpQuery;
}
}
return iRet;
}