付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
使用访问数据库第十四章回顾与作业点评如下的T-SQL含义是什么?Info表中存在NID、name、age三列,表内只有5条age大于20且小于50的记录,如下T-SQL执行结果是什么?聚合函数AVG()和MIN()各代表什么意思?SELECT*FROMEMPWHERETelephoneLIKE‘13[1-3]%'select*fromInfowhereagebetween50and20预习检查连接数据库使用什么对象?执行SQL命令使用什么对象?实现MySchoolBase的登录功能实现MySchoolBase的菜单功能实现MySchoolBase的查询学生数量功能本章任务了解的功能和组成会使用Connection对象连接到数据库会使用Command对象查询单个值会捕获和处理程序中的异常本章目标MySchoolBase数据库结构介绍贯穿案例使用的数据表概述数据库使用数据库存储数据SQL-ServerACCESSORACLEADO.NET数据库访问的方法和技术的主要组件
DataSet(数据集).NETFramework数据提供程序用于连接到数据库、执行命令和检索结果独立于数据源的数据访问操作数据库结构图本章内容.NET数据提供程序类型.NETFramework数据提供程序
说明SQLServer
.NET数据提供程序MicrosoftSQLServer数据源System.Data.SqlClient命名空间OLEDB
.NET数据提供程序OLEDB公开的数据源System.Data.OleDb
命名空间ODBC.NET数据提供程序ODBC公开的数据源System.Data.Odbc
命名空间Oracle
.NET数据提供程序Oracle数据源System.Data.OracleClient命名空间小结包括哪两个主要的组件?.NET数据提供程序的四个核心对象是什么?为什么使用Connection应用程序数据源请求数据Connection桥梁连接数据库示例连接到本机的MySchool数据库演示示例1:测试
MySchool数据库连接示例1代码分析关键代码回顾//数据库连接字符串stringconnString="DataSource=.;InitialCatalog=MySchool;UserID=jbit;pwd=bdqn";//创建
Connection对象SqlConnectionconnection=newSqlConnection(connString);
//打开数据库连接connection.Open();Console.WriteLine("打开数据库连接成功");
//关闭数据库连接connection.Close();Console.WriteLine("关闭数据库连接成功");表示本机Connection主要成员必须显式关闭连接属性名称说明ConnectionString连接字符串方法说明Open()打开数据库连接Close()关闭数据库连接连接数据库步骤连接数据库的步骤:1、定义连接字符串2、创建Connection对象3、打开与数据库的连接DataSource=服务器名;InitialCatalog=数据库名;UserID=用户名;Pwd=密码SqlConnectionconnection=newSqlConnection(connString);连接字符串connection.Open();没有密码,可省略Connection对象命名空间对应的Connection对象System.Data.SqlClientSqlConnectionSystem.Data.OleDbOleDbConnectionSystem.Data.OdbcOdbcConnectionSystem.Data.OracleClientOracleConnection不同命名空间的Connection对象小结连接到本机的pubs数据库//连接字符串stringconnString="DataSource=.;InitialCatalog=pubs;UserID=sa";//创建Connection对象
SqlConnectionconnection=newSqlConnection(connString);connection.Open(
);//打开数据库连接……connection.Close(
);//关闭数据库连接关键代码参考答案为什么使用异常处理应用程序打开数据库处理数据……数据源与数据库的连接中断无法打开数据库无法操作数据出现意外错误!出现异常异常处理异常:在运行时发生的错误异常处理:预知可能发生的异常,在程序中编码处理操作数据库时可能发生异常:无法打开数据库无法读取数据数据操作出错
……如何处理异常2-1使用try—catch块捕获和处理异常try{connection.Open();//……connection.Close();}catch(处理的异常类型){//错误处理代码}处理异常的代码出现异常,跳到catch否则正常向下执行出现异常,跳转连接关闭语句将不被执行包含可能出现异常的代码如何处理异常2-2finally块——无论是否发生异常,都会执行try{connection.open();//……}catch(处理的异常类型){
}finally{connection.Close();}可能出现异常的代码处理异常的代码是否发生异常数据库连接都会关闭必须执行的语句放在finally中无论如何都会执行的代码connection.Open();Console.WriteLine("打开数据库连接完毕");connection.Close();Console.WriteLine("关闭数据库连接完毕");处理异常修改示例1的代码,增加try语句块演示示例2:使用try-catch-finally小结如果try中没有出现异常,输出哪几行信息?try{//…可能出现异常的代码
Console.WriteLine("try块");}catch(Exceptione){Console.WriteLine("catch块");}finally{Console.WriteLine("finally块");}显示显示不显示练习——测试MySchool的数据连接需求说明:创建MySchoolBase控制台程序新建用于操作数据库的DBOperation类在DBOperation类中自定义数据库连接方法,实现连接和关闭MySchool数据库完成时间:20分钟练习——为连接操作添加异常需求说明:为数据库连接增加异常处理将数据库服务停止,再次测试连接操作完成时间:15分钟为什么使用Command应用程序打开数据库处理数据……数据源Connection?怎样处理数据Command提交SQL命令并从数据源中返回结果Command的主要成员属性名称说明ConnectionCommand对象使用的数据库连接CommandText执行的SQL语句方法说明
ExecuteNonQuery执行不返回行的语句,如UPDATE等ExecuteReader返回DataReader对象ExecuteScalar返回单个值,如执行COUNT(*)操作数据库示例完成MySchoolBase系统的登录功能1、验证管理员的用户名和密码是否存在2、验证通过,显示登录成功信息使用Command步骤使用Command步骤:1、创建数据库连接2、定义SQL语句3、创建Command对象4、执行命令SqlConnectionconnection=newSqlConnection(connString);stringsql="selectcount(*)fromAdminwhereLoginId='"+userName+"'andLoginPwd='"+pwd+"'";connection.Open();//打开数据库连接mandcommand=newmand(sql,connection);intnum=(int)command.ExecuteScalar();示例3关键代码:执行命令前,必须打开数据库连接!要进行类型转换!分析示例3定义一个ValidateUser()方法需要Connection和Command对象分两步实现验证:1、建立数据库连接2、验证用户是否存在
定义一个CheckLogin()方法用于显示ValidateUser()返回的结果信息分析验证方法ValidateUser()方法框架1、验证的结果:通过,不通过返回值为bool型2、方法需要:用户名,密码值方式传参3、不通过的原因:用户名或密码不存在、其他原因引用方式传参
publicboolValidateUser
(stringuserName,
stringpwd,
ref
stringstrMsg){}用户验证方法具体实现第一步:创建数据库连接第二步:查询用户是否存在SELECTCOUNT(*)ExecuteScalar()方法查询ValidateUser()方法具体实现演示示例3:检查MySchoolBase用户登录练习——实现管理员登录验证完成时间:25分钟完成MySchoolBase系统的登录功能1、验证管理员的用户名和密码是否存在2、验证通过,显示登录成功信息共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题集中讲解练习——实现菜单功能完成时间:20分钟完成MySchoolBase的如图中菜单显示功能管理员选择除操作键“8”以外的值,重新显示菜单管理员选择操作键“8”时,窗口关闭当管理员登录成功后显示系统菜单指导——实现学生数量查询功能训练要点:数据库连接和关闭异常处理Command对象的创建ExecuteScalar()查询数据库方法的使用需求说明:当管理员选择操作键“1”时,执行并显示Student表中的学生数量讲解需求说明实现思路1、创建查询学生数量的方法2、使用ExecuteScalar()方法查询
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年甘肃省卫生健康委系统招聘52人笔试参考题库及答案详解
- 2026河南郑州凯安医院招聘笔试备考题库及答案详解
- 2026上海市公共卫生临床中心放疗科招聘笔试备考试题及答案详解
- 2026江苏淮安市清江浦区清河街道公益性岗位(第二批)招聘1人笔试模拟试题及答案详解
- 集体捐赠协议2026年版
- 濂溪区福宁康养有限公司面向社会公开招聘工作人员笔试备考题库及答案详解
- 2026云南大学附属医院招聘2人笔试模拟试题及答案详解
- 2026年浙江大学医学院附属第一医院公开招聘人员2人(第二批)笔试备考题库及答案详解
- 2026年安徽省农村义务教育阶段学校教师特设岗位计划招聘80名笔试备考试题及答案详解
- 2026年湖南岳阳市君山区区直事业单位集中选调17人笔试参考题库及答案详解
- 2025年高考物理广东卷真题(含答案)
- 2025百年工运知识竞赛考试题库300题(含答案)
- 电气设备安全管理制度
- GB/T 11264-2025热-轧轻轨
- 艾草枕头课件
- 2024-2025学年四川省内江市市中区天立学校九年级下学期一模考试数学试题
- 苏州安全生产六化培训
- 《CRTAS-2024-06 互联网租赁自行车停放区设置指南》
- DB32∕T 3839-2020 水闸泵站标志标牌规范
- 浙美版 七年级下册 美术期末试卷(后附答案)
- 2025年全国统一高考数学试卷(全国二卷)含答案
评论
0/150
提交评论