文档详情

数据库及应用程序开发 数据库编程.ppt

发布:2017-06-29约8.89千字共44页下载文档
文本预览下载声明
第4章 数据库及应用程序开发 ——数据库编程 西安交通大学 计算机教学实验中心 4.3 数据库编程 4.3.1 数据库连接技术 1.ODBC 微软公司ODBC(Open Database Connectivity,开放数据库互连),,建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。 基于ODBC的应用程序对数据库的操作不依赖任何DBMS,由对应的DBMS的ODBC驱动程序完成。能以统一的方式处理所有的数据库。 2.ADO和OLE DB Microsoft推出的一致数据访问技术,为关系型或非关系型数据访问提供了一致的访问接口。 ADO提供了高层软件接口,不仅可在高级语言开发环境中使用,还可以在一些脚本语言中使用,这对于WEB程序访问数据库提供了捷径。 OLE DB 提供了底层软件接口 3.JDBC Java 数据库连接JDBC (Java Database Connectivity)由一组用 Java 编程语言编写的类和接口组成。 JDBC 为数据库开发人员提供了一个标准的API。程序可在任何平台上运行 。 4.3.2 利用V C开发应用系统 1.MFC ODBC类简介 (1)Cdatabase:建立与数据源的连接 virtual BOOL Open( LPCTSTR lpszDSN, BOOL bExclusive = FALSE, BOOL bReadOnly = FALSE, LPCTSTR lpszConnect = “ODBC;”, BOOL bUseCursorLib = TRUE ); throw( CDBException, CMemoryException ); lpszDSN指定了数据源名。 bExclusive说明是否独占数据源, bReadOnly若为TRUE则对数据源的连接是只读的。 lpszConnect指定了一个连接字符串,连接字符串中可以包括数据源名、用户帐号(ID)和口令等信息,字符串中的“ODBC”表示要连接到一个ODBC数据源上。 bUseCursorLib若为TRUE,则会装载光标库,否则不装载 若连接成功,函数返回TRUE,若返回FALSE, 若函数内部出现错误,则会产生一个异常。 连接数据库语句实例 CDatabase m_db; m_db.Open(MyDS); m_db.Open(NULL,FALSE,FALSE,ODBC;DSN=MyDS; UID=ABC;PWD=1234); m_db.Open(NULL); //将弹出一个数据源对话框 bool IsOpen( ) const; //返回TRUE则表明当前有一个连接 virtual void Close( ); (2)CRecordset类 从数据源选择的一组记录(记录集)。 CRecordset( CDatabase* pDatabase = NULL); virtual CString GetDefaultConnect( ); 该函数返回缺省的连接字符串 virtual BOOL Open( UINT nOpenType = AFX_DB_USE_DEFAULT_TYPE, LPCTSTR lpszSQL = NULL, DWORD dwOptions = none ); throw( CDBException, CMemoryException ); 该函数使用指定的SQL语句查询数据源中的记录并按指定的类型和选项建立记录集。 nOpenType说明了记录集的类型。打开记录集的方式:Snapshot(快照) ,Dynaset(动态集) 、forwordOnly lpszSQL是一个SQL的SELECT语句,或是一个表名 dwOptions可以是一些选项的组合 CRecordset::none 无选项(缺省)。 CRecordset::appendOnly //不允许修改和删除记录,但可以添加记录。 CRecordset::readOnly //记录集是只读的。 CRecordset::skipDeletedRecords //有些数据库(如FoxPro)在删除记录时并不真删除,而是做个删除标记,在滚动时将跳过这些被删除的记录。 调用CRecordset的滚动函数,如MoveFirst,MoveNext,ovePrev,MoveLast等,来改变“当前”记录的位置。 IsBOF,IsEOF用于判别是否移动到记录集的头或尾。 (3)CRecordView (4)CDBException 该类代表ODBC类产生的异常。 对于数据库操作错误,出现CDBException类型的异常, 其它类型的错误,出现CMemoryE
显示全部
相似文档