数据库中表操作 为什么我连接上数据库后创建CDaoRecordSet 对象后,不能操纵指定表中的字段,系统提示我“请选择数据源”我很笨,请大家多多指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你一段代码CDaoDatabase * pDaoDB;CDaoRecordset * pDaoRec;pDaoDB = new CDaoDatabase;pDaoRec = new CDaoRecordset(pDaoDB);pDaoDB->Open("d:\\WinPros2003_2K.mdb",FALSE,TRUE);//打开数据库WinPros2003_2K.mdbpDaoRec->Open(dbOpenDynaset,"SELECT * FROM PURE10A");//打开该数据库中的表PURE10A......//对数据库中该表的操作.你若不给定数据库名程序怎么知道要打开什么样的数据库呢?相应的其它的类你可能还会用到CDaoFieldInfo CDaoTableDef 等.去看看MSDN里的内容吧! 哎呀,怎么还用DAO,都快被淘汰了。况且这玩意难用的很。楼主,还是用ODBC或ADO吧。 to:qly2010(晨曦)谢谢你给我的那段代码,那些我都作了,而且我是动态选取数据库并打开之,数据库名和表名都是未知的,要动态读取。我已找到问题所在,虽然还没有完全解决,但是非常感谢你! CString szFilter="Microsoft Access Files(*.mdb)|*.mdb|All Files (*.*)|*.*||"; CFileDialog dlg (TRUE,"*.mdb",TEXT""), OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);if(dlg.DoModal()!=IDOK) return;CString strFilePathName;strFilePathName=dlg.GetPathName();//取出数据库文件名。CDaoTableDefInfo TableInfo;//用这个类可以读出数据库中表的信息。 int nTables=pOpenDB->GetTableDefCount(); while(index<nTables) { //获得表信息 pOpenDB->GetTableDefInfo(index,TableInfo,AFX_DAO_ALL_INFO); // 如果不是系统表或是隐藏表则将表名添加到组合框中,以备后用 if (!(TableInfo.m_lAttributes & dbSystemObject) && !(TableInfo.m_lAttributes & dbHiddenObject)) tableName.AddString(TableInfo.m_strName);//下拉列表框中的内容 index += 1; } tableName.SetCurSel(0); } pOpenDB->Close(); 构造HTTP请求包头的问题 局域网内实现文件传送,如何实现? 0x16转成16 #include <iostream.h> 为何要改成:#include <iostream> 呢? 如何在list中插入100万个选项??? access时间段查询 直线与四边形求交,or 线段与直线求交 我有一个TIff文件,需要打印,怎么用程序控制,最好不要用printdlg 关于打开文件的问题 如何显示24为真彩色图像? 在线求教:我从CRichEditView中派生的视图,如何取得当前行数 高分求助,高手请进:如何在dbf库同mdb库之间传递记录
CDaoRecordset * pDaoRec;pDaoDB = new CDaoDatabase;
pDaoRec = new CDaoRecordset(pDaoDB);pDaoDB->Open("d:\\WinPros2003_2K.mdb",FALSE,TRUE);//打开数据库WinPros2003_2K.mdb
pDaoRec->Open(dbOpenDynaset,"SELECT * FROM PURE10A");//打开该数据库中的表PURE10A......//对数据库中该表的操作.你若不给定数据库名程序怎么知道要打开什么样的数据库呢?相应的其它的类你可能还会用到CDaoFieldInfo CDaoTableDef 等.去看看MSDN里的内容吧!
楼主,还是用ODBC或ADO吧。
谢谢你给我的那段代码,那些我都作了,而且我是动态选取数据库并打开之,数据库名和表名都是未知的,要动态读取。
我已找到问题所在,虽然还没有完全解决,但是非常感谢你!
OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);if(dlg.DoModal()!=IDOK)
return;CString strFilePathName;
strFilePathName=dlg.GetPathName();
//取出数据库文件名。CDaoTableDefInfo TableInfo;//用这个类可以读出数据库中表的信息。
int nTables=pOpenDB->GetTableDefCount();
while(index<nTables)
{
//获得表信息
pOpenDB->GetTableDefInfo(index,TableInfo,AFX_DAO_ALL_INFO);
// 如果不是系统表或是隐藏表则将表名添加到组合框中,以备后用
if (!(TableInfo.m_lAttributes & dbSystemObject)
&& !(TableInfo.m_lAttributes & dbHiddenObject))
tableName.AddString(TableInfo.m_strName);//下拉列表框中的内容
index += 1;
}
tableName.SetCurSel(0);
}
pOpenDB->Close();