版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Access数据库编程实践,张国富 ,2020/8/26,ADO,ADO (ActiveX Data Objects)是一个微软的 Active-X 组件,会随微软的 IIS 被自动安装, 是一个访问数据库中数据的编程接口 Access, Oracle, SQL Server,2020/8/26,ADO对象,2020/8/26,Connection对象,建立与关闭数据源(某一具体数据库)的连接 创建Connection对象: CreateInstance(_uuidof(Connection) 或者 CreateInstance(ADODB.Connection) 设置等待时间:put_Con
2、nectionTimeout(long(5),2020/8/26,Connection对象,Open( _bstr_t ConnectionString, /以什么方式连接到什么数据源 /Access: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=school.mdb /Oracle: Provider=OraOLEDB.Oracle;Data Source=dspuser _bstr_t UserID, /用户名 _bstr_t Password, /密码 /只有网络数据库管理系统才需要认证,如MySQL, Oracle long Options
3、);/以同步方式(adConnectUnspecified)还是以异步方式(adAsyncConnect)进行连接 ),2020/8/26,Execute( _bstr_t CommandText,/SQL命令 VARIANT * RecordsAffected,/操作后所影响的行数 long Options/表示CommandText中内容的类型 /adCmdText:表明CommandText是文本命令 ),2020/8/26,Connection对象,Close()/关闭数据库的连接 State: adStateClosed 0 指示对象已关闭 adStateOpen 1 指示对象已打开
4、,2020/8/26,RecordSet对象,从基本表或命令执行的结果所得到的整个记录集合 创建RecordSet对象: CreateInstance(_uuidof(RecordSet) 或 CreateInstance(ADODB. RecordSet) MoveFirst() MoveLast() MoveNext() MovePrevious(),2020/8/26,RecordSet对象,BOF:指示当前指针位置位于 Recordset 对象的第一个记录之前 adoEOF:指示当前指针位置位于 Recordset 对象的最后一个记录之后 当前已经显示最后一条记录了,指针定位于记录集的
5、最后一条记录,如果再执行一次(仅一次否则就出错) MoveNext,此时,Recordset.eof=true 。BOF的原理也一样。 特别:没有查到任何记录时Recordset.adoeof=true且Recordset.bof=true,2020/8/26,BOF、EOF 属性,BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前。 EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后。 使用 BOF 和 EOF 属性可确定RecordSet对象是否包含记录,或者从一个记录移动到另一个记录时是否超出 Recordset 对象的限制。,2020/8/26
6、,不同 BOF 和 EOF 属性组合所允许的 Move 方法,2020/8/26,RecordSet对象,CursorLocation:设置或返回游标服务的位置 adUseClient adUseServer 通过客户端游标,ADO利用本地数据缓存以降低网络流量,虽然在数据访问灵活性上有所损失,但却大大提高了通过网络访问数据库的性能 对于远程连接,客户端软件 只能将 CursorLocation 属性设置为 adUseClient,2020/8/26,RecordSet对象,Open( const _variant_t /将ADO记录集显示在DataGrid控件中,2020/8/26,CEdi
7、t、CStatic控件,CString m_cstringeditSQL CString m_cstringstaticResult DDX_Text(pDX, IDC_EDIT_SQL, m_cstringeditSQL) DDX_Text(pDX, IDC_STATIC_RESULT, m_cstringstaticResult) UpdateData(TRUE) / 把控件的值传给对应的变量 UpdateData(FALSE) /把变量的值传递给控件,2020/8/26,消息映射,BEGIN_MESSAGE_MAP()END_MESSAGE_MAP() 使用BEGIN_MESSAGE_M
8、AP宏开始消息映射,然后为每个消息处理函数加入一个入口,最后用END_MESSAGE_MAP宏结束消息映射 ON_EN_CHANGE(IDC_EDIT_SQL, OnChangeEditSql) /当编辑框里的文本内容改变时触发,2020/8/26,Button控件,ON_BN_CLICKED(IDC_BUTTON_CONNECT, OnButtonConnect) ON_BN_CLICKED(IDC_BUTTON_EXECUTE, OnButtonExecute) ON_BN_CLICKED(IDC_BUTTON_DISCONNECT, OnButtonDisconnect) ON_BN_C
9、LICKED(IDC_BUTTON_EXIT, OnButtonExit),2020/8/26,CFileDialog文件选择对话框,CFileDialog:CFileDialog( BOOL bOpenFileDialog,/为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框 LPCTSTR lpszDefExt = NULL, /指定默认的文件扩展名(保存) LPCTSTR lpszFileName = NULL,/指定默认的文件名 DWORD dwFlags = /指明一些特定风格 OFN_HIDEREADONLY| /不显示“只读文件” OFN_OVERWRITEPROM
10、PT, /(保存时)覆盖已有文件前提示 LPCTSTR lpszFilter = NULL,/指明文件类型和相应的扩展名 CWnd* pParentWnd = NULL/为父窗口指针(值传递) ),OFN_FILEMUSTEXIST文件必须存在,2020/8/26,CFileDialog文件选择对话框,创建文件对话框可以使用DoModal(),在返回后可以利用下面的函数得到用户选择: CString CFileDialog:GetPathName( ) 得到完整的文件名,包括目录名和扩展名如:c:testschool.mdb CString CFileDialog:GetFileName( )
11、 得到完整的文件名,包括扩展名如:school.mdb CString CFileDialog:GetExtName( ) 得到完整的文件扩展名,如:mdb CString CFileDialog:GetFileTitle ( ) 得到完整的文件名,不包括目录名和扩展名如:school,2020/8/26,VC中使用ADO,将ADO库文件导入到工程stdafx.h中 #import c:program filescommon filessystemadomsado15.dll no_namespace rename (EOF, adoEOF) ADO库包含三个基本接口: _Connection
12、Ptr _RecordsetPtr _CommandPtr,2020/8/26,VC中使用ADO,AfxOleInit();/ 初始化COM,创建ADO连接等操作 防止内存泄露 m_pRecordset-Close(); m_pRecordset = NULL; m_pConnection-Close(); m_pConnection= NULL;,2020/8/26,Access+ASP,2020/8/26,建立连接,Set conn = Server.CreateObject(ADODB.Connection) conn.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & Server.MapPath(“school.mdb) set rs=server.createobject(adodb.recordset) sql=select * from student rs.open sql,conn,1,1/1,1为只读;1,3为更新,2020/8/26,读取数据,Do while not rs.eof response.write rs(Sno) response.write rs(Sname) response.write rs(Ssex) response.write rs(Sage) respon
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年江西省崇仁县重点达标名校初三第二次(4月)适应性测试数学试题试卷含解析
- 2026年大学大一(机电一体化技术)设备集成调试综合测试题及答案
- 护理引导式教学的护理领导力发展
- 护理人员心理健康:团队支持系统
- 抗疫前线:护理人员的责任与担当
- 2026年医疗废物泄露处置试题及答案
- 学生行为规范养成方案
- 卫生院印刷费自查报告
- 专题十二 路径的基本操作(课件)-职教高考电子与信息《图形图像处理》专题复习讲练测
- 心理教育工作责任制度
- 2026新春开工安全第一课:筑牢防线 安全启航
- 2026年上海公安机关辅警招聘考试参考试题及答案解析
- 2026中国中医科学院中药资源中心招聘国内高校应届毕业生3人(提前批)笔试备考题库及答案解析
- 妇女能顶半边天:历史回响与时代新声2026年三八妇女节专题课件
- 2026年春鲁科版(新教材)小学劳动技术三年级全一册教学计划及进度表(第二学期)
- 2026年南京信息职业技术学院单招职业技能考试题库及答案详解(夺冠)
- 2026年招聘辅警考试题库及参考答案
- 2026年内蒙古呼和浩特市单招职业倾向性测试题库含答案详解(夺分金卷)
- 拆解电动车合同协议书
- 2026届渭南市高三语文上学期期末质检试卷附答案解析
- 2026广东江门职业技术学院管理教辅人员招聘4人备考题库带答案详解
评论
0/150
提交评论