数据库 Access应用开发 SQL语言开发数据库.ppt_第1页
数据库 Access应用开发 SQL语言开发数据库.ppt_第2页
数据库 Access应用开发 SQL语言开发数据库.ppt_第3页
数据库 Access应用开发 SQL语言开发数据库.ppt_第4页
数据库 Access应用开发 SQL语言开发数据库.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论