资源描述:
《VC之ADO访问ACCESS数据库》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.引入ADO类 #import"c:programfilescommonfilessystemadomsado15.dll" no_namespacerename("EOF","adoEOF") 2.在资源视图里面添加按钮(如图,并设置相应的ID)及其他资源: 方法:打开Dialog对话框IDD_XPDLG_DIALOG并加入一个Button,双击这个Button,生成该按钮单击处理函数。3.编辑CMyAccessApp类: A.在CMyAccessApp类里面初始化COM AfxOleInit(); m_pConn
2、ection.CreateInstance(__uuidof(Connection)); 在ADO操作中建议语句中要常用try...catch()来捕获错误信息 try { //打开本地Access库db1.mdb m_pConnection->ConnectionTimeout=5; m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb","","",adModeUnknown); } catc
3、h(_com_errore) { AfxMessageBox(TEXT("数据库连接失败,确认数据库db1.mdb是否在当前路径下!"));// //VS2005编译器只能写成AfxMessageBox(_T("test"));才能使用 returnFALSE; } (其中我的数据库的表名是dbtable,数据库是db1)附:常用的数据库连接方法:(1)通过JET数据库引擎对ACCESS2000数据库的连接m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\
4、test.mdb","","",adModeUnknown);(2)通过DSN数据源对任何支持ODBC的数据库进行连接:m_pConnection->Open("DataSource=adotest;UID=sa;PWD=;","","",adModeUnknown);(3)不通过DSN对SQLSERVER数据库进行连接:m_pConnection->Open("driver={SQLServer};Server=127.0.0.1;DATABASE=vckbase;UID=sa;PWD=139","","",adModeUnknown);其中其中Se
5、rver是SQL服务器的名称,DATABASE是库的名称 B.使用vc2005自带的重写函数ExitInstance() { //关闭ADO连接状态 if(m_pConnection->State) m_pConnection->Close(); m_pConnection=NULL; }4.在CMyAccessDlg类里面编辑(): A.#import包含后就可以用3个智能指针了:_ConnectionPtr、_RecordsetPtr和_CommandPtr 定义ADO连接、命令、记录集变量指针 _ConnectionP
6、trm_pConnection; _CommandPtrm_pCommand; _RecordsetPtrm_pRecordset; 添加用于相应相应资源的变量: CListBoxm_AccessList; CStringm_Name; CStringm_Age; 在DoDataExchange中添加代码处理消息: DDX_Control(pDX,IDOK,m_OK); DDX_Control(pDX,IDC_WRITEACCESS,m_Write); DDX_Control(pDX,IDC_READACCESS,m_Rea
7、d); DDX_Control(pDX,IDC_MODIFY,m_Modify); DDX_Control(pDX,IDC_DELETE,m_Delete); DDX_Control(pDX,IDC_ABOUT,m_About); DDX_Control(pDX,IDC_LISTACCESS,m_AccessList); DDX_Text(pDX,IDC_NAME,m_Name);//bianjikuangNamedeIDweiIDC_NAME DDV_MaxChars(pDX,m_Name,10);//Namedegeshi DDX_Text(pDX
8、,IDC_AGE,m_Age);bianjikuangAgedeIDweiIDC_AGE DD