电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

数据库及应用程序开发

  • 资源ID:56612086       资源大小:423.50KB        全文页数:44页
  • 资源格式: PPT        下载积分:10金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要10金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

数据库及应用程序开发

1,第4章 数据库及应用程序开发 数据库编程,西安交通大学 计算机教学实验中心,软件开发技术基础,2,4.3 数据库编程,4.3.1 数据库连接技术 1ODBC 微软公司ODBC(Open Database Connectivity,开放数据库互连),,建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。 基于ODBC的应用程序对数据库的操作不依赖任何DBMS,由对应的DBMS的ODBC驱动程序完成。能以统一的方式处理所有的数据库。,3,2ADO和OLE DB,Microsoft推出的一致数据访问技术,为关系型或非关系型数据访问提供了一致的访问接口。 ADO提供了高层软件接口,不仅可在高级语言开发环境中使用,还可以在一些脚本语言中使用,这对于WEB程序访问数据库提供了捷径。 OLE DB 提供了底层软件接口,4,3JDBC,Java 数据库连接JDBC (Java Database Connectivity)由一组用 Java 编程语言编写的类和接口组成。 JDBC 为数据库开发人员提供了一个标准的API。程序可在任何平台上运行 。,5,4.3.2 利用V C开发应用系统,1MFC 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; 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( );,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,调用CRecordset的滚动函数,如MoveFirst,MoveNext,ovePrev,MoveLast等,来改变“当前”记录的位置。 IsBOF,IsEOF用于判别是否移动到记录集的头或尾。,11,(3)CRecordView,该类提供了一个表单视图与某个记录集直接相连。 在记录集与表单视图的控件之间传输数据。,12,(4)CDBException,该类代表ODBC类产生的异常。 对于数据库操作错误,出现CDBException类型的异常, 其它类型的错误,出现CMemoryException异常。,13,2执行SQL语句,可以使用CDatabase类的ExecuteSQL函数直接执行SQL语句。 ExecuteSQL能: 查询记录、 创建新表、删除表、 创建索引、 修改记录、删除记录和插入记录 ExecuteSQL的声明如下: void ExecuteSQL(LPCTSTR lpszSQL) 其中,lpszSQL表示要执行的SQL语句。,14,3 数据库操作的基本过程,(1)连接数据库 建立CDataBase类对象,通过CDataBase类的Open函数连接数据库。 (2)执行SQL语句 对于要返回结果集的查询操作,可以通过CRecordSet类的Open函数实现, 对于不返回结果集的其它SQL语句可以通过CdataBase类的ExecuteSQL函数实现。 (3)断开与数据库的连接 通过CDataBase类的Close函数断开与数据库的连接。,15,.3.3 编程实例,【例4-49】 连接SQL Server 2000数据库company。假定对SQL Server 2000数据库company已经建立了数据源CompanyDS,编程连接该数据库。如果连接成功,显示“连接成功”,否则显示“连接失败”。 #include “stdafx.h“ #include #include #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE = _FILE_; #endif,CDatabase database ; CWinApp theApp; using namespace std; int _tmain(int argc, TCHAR* argv, TCHAR* envp) int nRetCode = 0;/ 初始化MFC并进行判断if (!AfxWinInit(:GetModuleHandle(NULL), NULL, :GetCommandLine(), 0)/ TODO: change error code to suit your needscerr << _T(“Fatal Error: MFC initialization failed“) << endl;nRetCode = 1;,elseBOOL bStatus = false;/设置等待建立连接的时间 database.SetLoginTimeout(10); try /与数据源LibraryDB建立连接 bStatus=database.Open(NULL,FALSE,FALSE,“ODBC;DSN=CompanyDS; “); if(bStatus)cout<<“连接成功!“<<endl;elsecout<<“连接失败!“<<endl;,catch(CMemoryException *pEx) /异常处理 pEx->ReportError(); catch(CDBException * pDBEx)pDBEx->ReportError(); /输出错误信息coutm_nRetCode m_strError m_strStateNativeOrigin<<“n“; database.Close(); /关闭数据库 return nRetCode; ,19,【例4-50】,【例4-50】查询SQL Server 2000数据库company中表employee的记录信息。假定对SQL Server 2000数据库的company已经建立了数据源CompanyDS,company中有一个表employee。该实例显示表中所有职员的no(编号)、name(姓名),sex(性别)和salary(工资)。,20,解题思路,数据库连接成功后, 调用Crecordset类的Open函数执行指定的SQL语句查询数据源中的记录,并按指定的类型和选项建立记录集。 对记录集中的记录,需要用循环方法逐条处理。 处理完当前记录后,调用Crecordset类的MoveNext函数,将记录指针移至下条记录。 当最后一条记录处理完毕后,函数IsEOF的值为真。,21,bStatus=database.Open(NULL,FALSE,FALSE,“ODBC;DSN=MyDS; ”);/与数据源LibraryDB建立连接 CRecordset recset( else,cout<<“学号 姓名 性别 年龄 籍贯 “<<endl; /输出表中的列名cout<<endl;CString temp;while( ! recset.IsEOF() )/每循环一次,输出结果集中的一条记录recset.GetFieldValue(“学号“,temp);cout<<(LPCTSTR)temp;recset.GetFieldValue(“姓名“,temp);cout<<“ “<<(LPCTSTR)temp;recset.GetFieldValue(“性别“,temp);cout<<“ “<<(LPCTSTR)temp;recset.GetFieldValue(“年龄“,temp);cout<<“ “<<(LPCTSTR)temp;recset.GetFieldValue(“籍贯“,temp);cout<<“ “<<(LPCTSTR)temp;recset.MoveNext(); cout<<endl;recset.Close();database.Close(); /关闭数据库,23,【例4-51】,【例4-51】为SQL Server 2000数据库company的表employee插入记录。假定对SQL Server 2000数据库company已经建立了数据源CompanyDS,company中有一个表employee。该实例在表中插入两条记录,其数据分别为: 2001, 邢雪花,女,650和 2020,翟建设,男,746。 解题思路: 数据库连接成功后,可调用Cdatabase类的ExecuteSQL函数执行指定的SQL语句插入记录。,24,为表employee插入记录。,CDatabase database ; CWinApp theApp;BOOL bStatus = false;/与数据源LibraryDB建立连接 bStatus=database.Open(NULL,FALSE,FALSE,“ODBC;DSN=LibraryDB; “); CString strSQL;,25,strSQL=“INSERT INTO student VALUES(2001, 邢雪花,女,650)”; /要执行的SQL语句 database.ExecuteSQL(strSQL);database.ExecuteSQL(“INSERT INTO student VALUES (2020,翟建设,男,746)”);database.Close(); /关闭数据库 /注意SQL中的单引号和双引号,

注意事项

本文(数据库及应用程序开发)为本站会员(xzh****18)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.