1第4章数据库及应用程序开发——数据库编程西安交通大学西安交通大学计算机教学实验中心计算机教学实验中心软件开发技术基础 数据库编程 数据库连接技术 1. ODBC ?微软公司 ODBC(Open Database Connectivity , 开放数据库互连),,建立了一组规范,并提供了一组对数据库访问的标准 API (应用程序编程接口)。?基于 ODBC 的应用程序对数据库的操作不依赖任何 DBMS ,由对应的 DBMS 的 ODBC 驱动程序完成。能以统一的方式处理所有的数据库。 32. ADO 和 OLE DB ? Microsoft 推出的一致数据访问技术,为关系型或非关系型数据访问提供了一致的访问接口。? ADO 提供了高层软件接口,不仅可在高级语言开发环境中使用,还可以在一些脚本语言中使用, 这对于 WEB 程序访问数据库提供了捷径。? OLE DB 提供了底层软件接口 43. JDBC ?Java 数据库连接 JDBC (Java Database Connectivity) 由一组用 Java 编程语言编写的类和接口组成。? JDBC 为数据库开发人员提供了一个标准的 API 。程序可在任何平台上运行。 利用 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 , ?若函数内部出现错误,则会产生一个异常。 6连接数据库语句实例? CDatabase m_db; ? ( "MyDS" ); ? (NULL,FALSE,FALSE,"ODBC; DSN= MyDS; UID=ABC;PWD=1234" ); ? (NULL); // 将弹出一个数据源对话框? bool IsOpen( ) const; // 返回 TRUE 则表明当前有一个连接? virtual void Close( ); 7(2) CRecordset 类从数据源选择的一组记录(记录集)。? CRecordset( CDatabase * pDatabase = NULL); ? virtual CString GetDefaultConnect( ) ; ?该函数返回缺省的连接字符串 8 ? virtual BOOL Open ( UINT nOpenType = AFX_DB_USE_DEFAULT_TYPE, LPCTSTR lpszSQL = NULL, DWORD dwOptions = none ); throw ( CDBException, CMemoryException ); ?该函数使用指定的 SQL 语句查询数据源中的记录并按指定的类型和选项建立记录集。? nOpenType 说明了记录集的类型。打开记录集的方式: Snapshot (快照) , Dynaset (动态集) 、 forwordOnly 9 ? lpszSQL 是一个 SQL 的 SELECT 语句,或是一个表名? dwOptions 可以是一些选项的组合? CRecordset::none 无选项(缺省)。? CRecordset::appendOnly // 不允许修改和删除记录, 但可以添加记录。? CRecordset::readOnly // 记录集是只读的。? CRecordset::skipDeletedRecords // 有些数据库(如 FoxPro )在删除记录时并不真删除,而是做个删除标记,在滚动时将跳过这些被删除的记录。 10 ?调用 CRecord
数据库及应用程序开发 来自淘豆网m.daumloan.com转载请标明出处.